黑马程序员 NSRange的基础知识总结及应用

来源:互联网 发布:淘宝上的内衣有图评论 编辑:程序博客网 时间:2024/05/01 03:40

//一、NSRange是一个结构体,表示一段范围

/*

 typedef struct _NSRange {

 NSUInteger location;

 NSUInteger length;

 } NSRange;

 */

//NSUInteger是一个自定义无符号长整型typedef unsigned long NSUInteger;

//location表示起始位置

//length表示长度

/*二、创建方式:大致有四种

    1.{location,length}                                                  NSRange range={2,4};

    2.NSMakeRange(location,length)

    3.先定义,然后range.location,range.length

    4. NSRange range3={.location=2,.length=4};

*/

三、代码分析

#import <Foundation/Foundation.h>

int main(){

    @autoreleasepool {

        NSRange range={2,4};//第一种方式

        NSLog(@"%@",NSStringFromRange(range));


     NSRange range1=  NSMakeRange(2,4);//第二种方式

        NSLog(@"%@",NSStringFromRange(range1));


        NSRange range2;//第三种方式

        range2.location=2;

        range2.length=4;

        NSLog(@"%@",NSStringFromRange(range2));


        NSRange range3={.location=2,.length=4};//第四种方式

        NSLog(@"%@",NSStringFromRange(range3));

        

        NSString *str=@"i am the best best";

                NSString *str1=@"best";

               NSRange range4= [strrangeOfString:str1];//查找某一串字符是否存在于另一个字符串中

                NSLog(@"loc=%lu,len=%lu",range4.location,range4.length);

        

                if (range.location==NSNotFound) {//如果没有查找到字符串,则结果是NSNotFound

                    NSLog(@"不存在");

                }

              NSRange range5=  [strrangeOfString:str1options:NSBackwardsSearch];//实现反向查找

                NSLog(@"loc=%lu,len=%lu",range5.location,range5.length);


        

    }

    return0;

}

//结果打印如下

/*

 2016-01-27 23:57:00.274 OC 5[2076:113487] {2, 4}

 2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}

 2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}

 2016-01-27 23:57:00.276 OC 5[2076:113487] {2, 4}

 2016-01-27 23:57:00.276 OC 5[2076:113487] loc=9,len=4

 2016-01-27 23:57:00.276 OC 5[2076:113487] loc=14,len=4

 Program ended with exit code: 0 */


0 0
原创粉丝点击