iOS开发-获取字符串中多个相同字符的位置index
2017-02-06 19:48
411 查看
iOS开发-获取字符串中多个相同字符的位置index
需求:在一个字符串 ASting中或许存在多个 abc字符串,将所有的abc字符串高亮显示。解决方案:先遍历ASting找到所有的abc所在的位置的index,然后通过index将字符串进行替换
相关代码:
#pragma mark - 获取这个字符串中的所有xxx的所在的index - (NSMutableArray *)getRangeStr:(NSString *)text findText:(NSString *)findText { NSMutableArray *arrayRanges = [NSMutableArray arrayWithCapacity:3]; if (findText == nil && [findText isEqualToString:@""]) { return nil; } NSRange rang = [text rangeOfString:findText]; //获取第一次出现的range if (rang.location != NSNotFound && rang.length != 0) { [arrayRanges addObject:[NSNumber numberWithInteger:rang.location]];//将第一次的加入到数组中 NSRange rang1 = {0,0}; NSInteger location = 0; NSInteger length = 0; for (int i = 0;; i++) { if (0 == i) {//去掉这个xxx location = rang.location + rang.length; length = text.length - rang.location - rang.length; rang1 = NSMakeRange(location, length); } else { location = rang1.location + rang1.length; length = text.length - rang1.location - rang1.length; rang1 = NSMakeRange(location, length); } //在一个range范围内查找另一个字符串的range rang1 = [text rangeOfString:findText options:NSCaseInsensitiveSearch range:rang1]; if (rang1.location == NSNotFound && rang1.length == 0) { break; } else//添加符合条件的location进数组 [arrayRanges addObject:[NSNumber numberWithInteger:rang1.location]]; } return arrayRanges; } return nil; }
相关文章推荐
- ios 开发中获取字符串中重复的字符的rang
- iOS开发之获取一段字符串中的中文字和中文字符
- iOS开发之获取一段字符串中的中文字和中文字符
- ios 开发中获取字符串中重复的字符的range
- 学习iOS开发之获取位置信息
- 查询语句自动增加序列号、获取字段长度、返回字符在字段中的位置信息、从第几个位置替换字符串
- 在iOS开发中自动获取当前的位置(GPS定位)
- 输入一行字符串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置
- mysql字符串如何得到指定字符最后的位置,学习SUBSTRING_INDEX的用法
- 请用charAt获取javascript获取字符串指定位置字符
- (Relax ST1.16)POJ 3589 Number-guessing Game(求连个字符串中相同的字符有多少个和同位置&&同字符的字符个数有多少个)
- IOS开发判断在字符串中是否包含相应的字符
- PHP截取字符串,获取长度,获取字符位置的函数 中文字符截取
- iOS开发笔记(使用Google Map Service获取用户当前位置信息)
- IOS 开发中判断字符串是否为空字符的方法
- IOS开发中判断字符串是否为空字符的方法
- 输入一行子串,找出其中出现的相同且长度最长的字符串,输出它及其首字符的位置
- java获取字符串中第N次出现特定字符的位置
- Objective-C ,ios,iphone开发基础:如何判断一个字符是不是中文字符。计算一段字符串的长度。
- 在iOS开发中自动获取当前的位置(GPS定位)