Foundation中的NSRange


一、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)); //打印输出


上面的程序将输出:Range is: {12, 2}


你可能感兴趣的:(Foundation中的NSRange)