美文网首页
OC - (NSRange)rangeOfString:(NSS

OC - (NSRange)rangeOfString:(NSS

作者: 你等下课滴 | 来源:发表于2019-04-12 14:09 被阅读0次
    方法名:
    - (NSRange)rangeOfString:(NSString *)searchString;
    
    使用方法:
    NSString *str = @"makjer@¥$^code_hello98.test0sdf";
    NSString *test = @"test";
    NSRange range = [str rangeOfString:test];
    
    方法解释:

    rangeOfString: 方法意思是问str这个字符串里面有没有test这个字符串,然后这个方法回复我们是一个NSRange类型,这个类型是什么东西呢?

    typedef struct _NSRange {
        NSUInteger location;
        NSUInteger length;
    } NSRange;
    

    哎,对聊,这是一个结构体!!!
    它是一个结构体,里面有两个属性,一个是location,一个是length。
    既然它有这两个属性,上面代码我们得到的range就可以看一下,这两个属性值分别是什么,然后就明白这两个属性的意思了,看看打印结果。

    NSLog(@"range.location:%ld--range,length:%ld", range.location, range.length);
    
    rangeOfString-01.png

    这个str字符串很明显我们肉眼可以看到肯定会有test这个字符串对吧。
    然后我们看这两个属性,可以看到控制台输出range的两个属性location是23,这个23意思就是test这个字符串的第一个“t”在str这个字符串里面的23号位置。“m”是0、“a”是1、“k”是2......“t”是23,所以location这个属性值为23。
    再来看length这个属性,可以看到length是4,字面意思就是这个查找的test字符串长度是4。一个“t”、一个“e”、一个“s”、一个“t”四个,所以length这个属性值为4。

    所以这个方法返回的NSRange结构体就是确定你要查找的字符串在被查找的字符串的什么位置多少长度。(示例中返回的意思就是:str字符串里有test的字符串,这个test字符串在str中第23号位置,长度为4!)

    我的更多文章:你等下课滴

    您可以关注我以便随时查看我最新的文章,本篇文章是为了做笔记,顺便提供给大家共同学习进步!如果您对本篇文章有任何疑问,请留言给我,有什么错误也可以留言提醒,如果对大家有帮助我很荣幸!感谢!

    相关文章

      网友评论

          本文标题:OC - (NSRange)rangeOfString:(NSS

          本文链接:https://www.haomeiwen.com/subject/rvrcwqtx.html