在开发过程中,前后台交互,软硬件交互过程中,经常会使用字符串进行传值。有时为了节省字段,一段字符串中可能包含多个信息位,在这种情况下,获取不同信息位value前,就必须要进行字符串分割。常见的分割方法是添加标志符,比如:FF、00、##、*...
NSString *testStr1 = @"12=34=56";
NSArray * array1 = [testStr1 componentsSeparatedByString:@"="];
NSLog(@"%@",array1);
当然,如果字符串中没有分隔符改怎么办呢?没关系,办法也很简单,使用NSRange 轻松完成分割:
-(NSArray *)getSubString:(NSString*)str {
NSMutableArray *textArray = [NSMutableArray array];
for (NSInteger i = 0; i < str.length; i++) {
NSRange range = NSMakeRange(i, 1);
NSString *subStr = [str substringWithRange:range];
[textArray addObject:subStr];
}
return textArray;
}
测试一把
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
NSString *testStr = @"123456";
NSArray *array = [self getSubString:testStr];
NSLog(@"%@",array);
NSString *testStr1 = @"12=34=56";
NSArray * array1 = [testStr1 componentsSeparatedByString:@"="];
NSLog(@"%@",array1);
}
打印结果如下:
2018-07-20 15:29:46.805659+0800 StringTest[7749:168304] (
1,
2,
3,
4,
5,
6
)
2018-07-20 15:29:46.805874+0800 StringTest[7749:168304] (
12,
34,
56
)
网友评论