赞
踩
iOS开发中我们常常需要对字符串进行出去,例如分割,通常都是有个参照物进行分割
例如: https://www.xxx.xxx?name=zhangshan
iOS需要取出zhangsan的值,就需要用参照物“name=”进行分割,右边为张三,左边为其他字符串
OC自带的分割api是 componentsSeparatedByString:@"" , 以下为代码:
- NSString * str = @"https://www.xxx.xxx?name=zhangshan";
- NSArray * array = [str componentsSeparatedByString:@"name="];
- NSString * nameStr = array[1];
但是如果一个字符串要分割成N个字符,且没有分割参照物,这个怎么办呢?
例如:将字符串 abcdefg 分割成单个字符. OC中没有自带的api (PS:swift 中有把字符串转成数组的自带方法)
我们可以借助NSRange 的方法进行单个切割:代码如下
- #pragma mark 将字符串分割成单个字符
- - (NSMutableArray *)separateString:(NSString *)str
- {
- NSMutableArray * resultArray = [[NSMutableArray alloc]init];
-
- for (int i = 0; i < str.length ; i ++)
- {
- NSRange range = NSMakeRange(i, 1);
- NSString * singleStr = [str substringWithRange:range];
- //将分割好的单个字符装进数组
- [resultArray addObject:singleStr];
- }
-
- return resultArray;
- }
然后传入字符串就可以分割出来了
- NSString * valueStr = @"abcdefg";
- NSMutableArray * valueArray = [self separateString:valueStr];
- NSLog(@"valueArray==%@",valueArray);
- /*
- valueArray的输出为
- valueArray==(
- a,
- b,
- c,
- d,
- e,
- f,
- g
- )
- */
得到单个字符的数组,就有条件进行你想要的操作了!!!
PS分割字符串,本质就是把String转成Array;
这里额外讲一个Array转成String 的方法:
NSString * arrayToStr = [valueArray componentsJoinedByString:@""];
- //数组转为字符串
- NSString * arrayToStr = [valueArray componentsJoinedByString:@""];
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。