NSRange

NSRange(location,length)  表示范围,从位置(location)开始长度(length)内的元素,主要用于查找字符串在字符串中所属范围。

location 在字符串中的位置,从0开始。如果未找到需要查找的字符串,location值为-1。

length 查找字符串的长度。如果未找到需要查找的字符串,length值为0。


NSRange range = NSMakeRange(NSUInteger loc, NSUInteger len)

定义一个NSRange类型,NSMakeRange接收俩个参数,1个代表位置,1个代表长度


NSUInteger maxRange = NSMaxRange(NSUInteger loc, NSUInteger len);
定义字符串的最大范围,值为:loc + len;

BOOL b1 = NSLocationInRange(
NSUInteger loc,  NSRange range);

判断位置是否在限定范围内,!(loc<range.loc)&&(loc-range.loc<range.length)?YES:NO;

BOOL b2 = NSEqualRanges(
NSRange range1, NSRange range2)
判断两个range的值是否相等:range1.location == range2.location && range1.length == range2.length;

NSRange range = NSUnionRange(range1, range2); 
将range1和range2的值结合起来,得到一个新值:
range.location = range1.location 
range.length取值:
(range1.location>range2.location || 
range1.location<range2.location) && range1.length>range2.length
range.length = range1.length

range1.location>range2.location && range1.length<range2.length 
range.length = range2.length
range1.location<range2.location && range1.length<range2.length 
range.length = range2.location + range2.length - range1.location


NSRange range = NSIntersectionRange(range1, range2); 
获取range1和range2之间共同的区域,赋值给range。如果没有共同范围,range={0,0};

NSRange range = NSRangeFromString(NSString *aString);
将字符串格式转换为NSRange类型的值接收格式@"1,2"或者@"{1,2}"

NSString *aString = NSStringFromRange(NSRange range);
将range的值用字符串的格式输出。即{range.location,range.length};