NSRange
typedef struct _NSRange {
NSUInteger location;
NSUInteger length;
} NSRange;
NSRange是Foundation框架中比较常用的结构体
用来表示事物的一个范围
通常是字符串里的字符范围或者数组里的元素范围。
-
其中,NSRange有2个成员
NSUInteger location : 表示该范围的起始位置
NSUInteger length : 表示该范围内的长度
NSRange的创建
-
通过结构体变量访问成员
NSRange range; //通过结构体变量访问成员 range.location = 3; range.length = 2;
-
结构体变量整体赋值
NSRange range; //结构体变量整体赋值 range = (NSRange){5,3}; NSRange r2 = {4,5}; //最简单的 NSRange r3 = {.location = 3,.length = 5};
-
NSMakeRange函数(OC中建议使用这种)
NS_INLINE NSRange NSMakeRange(NSUInteger loc, NSUInteger len) { NSRange r; r.location = loc; r.length = len; return r; }
- NSMakeRange函数的作用给 NSRange结构体变量赋值
//NSMakeRange函数的作用给 NSRange结构体变量赋值 NSRange r4 = NSMakeRange(3, 3); NSString *str = NSStringFromRange(r4);//将一个结构体转化成字符串
字符串的截取
- 从指定位置from开始(包含起始位置)到尾部
- (NSString *)substringFromIndex:(NSUInteger)from;
- 从字符串的开头一直截取到指定的位置to,不包含结束位置
- (NSString *)substringToIndex:(NSUInteger)to;
- 按照所给出的NSRange从字符串中截取子串
- (NSString *)substringWithRange:(NSRange)range;
- 示例
//抽取指定范围的字符串
NSString *string1 = @"0123456789";
NSRange range1 = NSMakeRange(0, 4);//NSMakeRange这个函数的作用是从第0位开始计算,长度为4
NSLog(@"从第0个字符开始,长度为4的字符串是:%@",[string1 substringWithRange:range1]);
NSLog(@"抽取从头开始到第4个字符:%@",[string1 substringToIndex:4]);
NSLog(@"抽取从第6个字符开始到末尾:%@",[string1 substringFromIndex:6]);