当前位置:   article > 正文

iOS 将字符串分割成单个字符| 字符串转成数组

iOS 将字符串分割成单个字符| 字符串转成数组

iOS开发中我们常常需要对字符串进行出去,例如分割,通常都是有个参照物进行分割

例如: https://www.xxx.xxx?name=zhangshan

iOS需要取出zhangsan的值,就需要用参照物“name=”进行分割,右边为张三,左边为其他字符串

OC自带的分割api是 componentsSeparatedByString:@"" , 以下为代码:

  1. NSString * str = @"https://www.xxx.xxx?name=zhangshan";
  2. NSArray * array = [str componentsSeparatedByString:@"name="];
  3. NSString * nameStr = array[1];

但是如果一个字符串要分割成N个字符,且没有分割参照物,这个怎么办呢?

例如:将字符串 abcdefg 分割成单个字符. OC中没有自带的api (PS:swift 中有把字符串转成数组的自带方法)

我们可以借助NSRange 的方法进行单个切割:代码如下

  1. #pragma mark 将字符串分割成单个字符
  2. - (NSMutableArray *)separateString:(NSString *)str
  3. {
  4. NSMutableArray * resultArray = [[NSMutableArray alloc]init];
  5. for (int i = 0; i < str.length ; i ++)
  6. {
  7. NSRange range = NSMakeRange(i, 1);
  8. NSString * singleStr = [str substringWithRange:range];
  9. //将分割好的单个字符装进数组
  10. [resultArray addObject:singleStr];
  11. }
  12. return resultArray;
  13. }

然后传入字符串就可以分割出来了

  1. NSString * valueStr = @"abcdefg";
  2. NSMutableArray * valueArray = [self separateString:valueStr];
  3. NSLog(@"valueArray==%@",valueArray);
  4. /*
  5. valueArray的输出为
  6. valueArray==(
  7. a,
  8. b,
  9. c,
  10. d,
  11. e,
  12. f,
  13. g
  14. )
  15. */

得到单个字符的数组,就有条件进行你想要的操作了!!!

PS分割字符串,本质就是把String转成Array;

这里额外讲一个Array转成String 的方法:

NSString * arrayToStr = [valueArray componentsJoinedByString:@""];

  1. //数组转为字符串
  2. NSString * arrayToStr = [valueArray componentsJoinedByString:@""];

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/462497
推荐阅读
相关标签
  

闽ICP备14008679号