ios提供的字符串操作中有两个操作是最基本的。
获取字符串长度
@property (readonly) NSUInteger length;
获取下标对应的字符
- (unichar)characterAtIndex:(NSUInteger)index;
NSString *str=@"你好,世界!";
NSLog(@"length %lu",[str length]);
unichar ch=[str characterAtIndex:1];
NSLog(@"ch = %C",ch);
输出
2017-03-15 04:03:14.430 objc-base[2000:339489] length 6
2017-03-15 04:03:14.431 objc-base[2000:339489] ch = 好
其他许多字符串操作都是建立在以上两个操作之上的。
获取字符序列
获取字符串区间内的字符序列
- (void)getCharacters:(unichar *)buffer range:(NSRange)range;
获取字符串的字符序列
- (void)getCharacters:(unichar *)buffer;
NSString *str=@"你好,世界!";
unichar chs[6];
[str getCharacters:chs range:NSMakeRange(3, 2)];
NSLog(@"%C%C",chs[0],chs[1]);
[str getCharacters:chs];
NSLog(@"%C%C%C%C%C%C",chs[0],chs[1],chs[2],chs[3],chs[4],chs[5]);
输出
2017-03-15 04:15:28.138 objc-base[2046:347738] 世界
2017-03-15 04:15:28.138 objc-base[2046:347738] 你好,世界!
截取字符串
截取字符串区间内的字符串
- (NSString *)substringWithRange:(NSRange)range;
截取下标开始的字符串
- (NSString *)substringFromIndex:(NSUInteger)from;
截取下标结束的字符串(不包含下标)
- (NSString *)substringToIndex:(NSUInteger)to;
NSString *str=@"你好,世界!";
NSString *str1=[str substringWithRange:NSMakeRange(1, 3)];
NSLog(@"str1 = %@",str1);
NSString *str2=[str substringFromIndex:1];
NSLog(@"str2 = %@",str2);
NSString *str3=[str substringToIndex:3];
NSLog(@"str3 = %@",str3);
输出
2017-03-15 04:24:10.676 objc-base[2095:353965] str1 = 好,世
2017-03-15 04:24:10.678 objc-base[2095:353965] str2 = 好,世界!
2017-03-15 04:24:10.679 objc-base[2095:353965] str3 = 你好,
添加字符串
添加字符串
- (NSString *)stringByAppendingString:(NSString *)aString;
添加格式化字符串
- (NSString *)stringByAppendingFormat:(NSString *)format, ...
NSString *str=@"你好,世界!";
NSString *str1=[str stringByAppendingString:@"hello,world!"];
NSString *str2=[str stringByAppendingFormat:@"%@",@"hello,world!"];
NSLog(@"str1 = %@ str2 = %@",str1,str2);
输出
2017-03-15 04:32:31.090 objc-base[2120:359387] str1 = 你好,世界!hello,world! str2 = 你好,世界!