一、NSRange在Xcode中的的定义:
typedef struct _NSRange
{
NSUInteger location; //结构体变量 location位置
NSUInteger length; // 结构体变量length 表长度
} NSRange;
显而易见,NSRange
是一个结构体,其中
location
是一个以
0
为开始的
index
,
length
是表示对象的长度。他们都是
NSUInteger
类型。
二、创建NSRange并实例化:
NSRange range = NSMakeRange (25, 3);//将location和length分别赋值
NSString *homebrew = @"Imperial India Pale Ale (IPA)"; //定义一个字符串
NSRange range = [homebrew rangeOfString:@"IPA"]; //rangeOfString查找字符串IPA在homebrew中的位置
if (range.length > 0)
NSLog(@"Range is: %@", NSStringFromRange(range); //NSStringFromRange,将range转换为NSString类型后才能输出
上面的程序将输出Range is: {25, 3}。
而另外一个函数NSRangeFromString()则是将NSString转换为NSRange。
NSStringFromRange()方法,将一个NSRange返回一个NSString。
四、反向搜索字符串
NSString *homebrew = @"Imperial India Pale Ale (IPA)"; //定义一个字符串
NSRange range = [homebrew rangeOfString:@"ia" options:NSBackwardsSearch];//从字符串后往前开始查找
if (range.length > 0) //如果查找到的话
NSLog(@"Range is: %@", NSStringFromRange(range)); //打印输出