首页 > 代码库 > NSString子字符串查找在父字符串的位置.

NSString子字符串查找在父字符串的位置.

NSString上一章我们讲解了如何在父字符串中提取它的一部分作为一个新的子字符串而存在, 今天我们就来讲讲怎么知道子字符串在父字符串中的位置, 以及长度是多少.

 

这里使用的方法:

NSRange: 前面我们说过, NSRange是作为一个结构体一样的存在, 它里面是由两个长整数类型构成的, 而rangOfString:就是把要判断的子字符串在这声明, 由它来返回给NSRange来判断子字符串所在父字符串的位置以及长度.

 

下面是简单例子:

#import <Foundation/Foundation.h>int main(int argc, const char * argv[]) {    @autoreleasepool {        //查找子字符串的位置和长度.        //所谓的子字符串就是主字符串中的一部分.        NSString *str = @"I am a so bad man.";        NSString *subStr = @"so";                NSRange range = [str rangeOfString:subStr];        //NSRange是返回值类型.        //NSRange是一个结构体, 由两个长整数类型组成.        //location表示位置, length表示长度.        //查找子字符串的方法, 表示找到subStr子字符串的位置, 并且通过返回值获得.                NSLog(@"location = %lu length = %lu", range.location, range.length);        //打印range所在父字符串的位置和长度.    }    return 0;}

下面是输出的结果:

2014-10-11 15:47:25.821 Substring[1201:303] location = 7 length = 2Program ended with exit code: 0

这个结果说明了, range在父字符串中是从第7个字符开始的, 长度是2.

NSString子字符串查找在父字符串的位置.