ios 开发中获取字符串中重复的字符的rang
2015-06-01 16:20
344 查看
iOS 开发中经常会遇到处理字符串的问题,对于一个字符串经常会遇见里面包含重复的字符需要对重复的字符进行处理,下面的代码就是对重复字符进行处理的操作,具体代码如下所示:
返回的数组对象就是重复字符在text 中的location, 使用方式是通过便利的形式,获取获取rang={array[i], findText.length}
/** * 返回重复字符的location * * @param text 初始化的字符串 * @param findText 查找的字符 * * @return 返回重复字符的location */ - (NSMutableArray *)getRangeStr:(NSString *)text findText:(NSString *)findText { NSMutableArray *arrayRanges = [NSMutableArray arrayWithCapacity:20]; if (findText == nil && [findText isEqualToString:@""]) { return nil; } NSRange rang = [text rangeOfString:findText]; 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) { 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); } rang1 = [text rangeOfString:findText options:NSCaseInsensitiveSearch range:rang1]; if (rang1.location == NSNotFound && rang1.length == 0) { break; }else [arrayRanges addObject:[NSNumber numberWithInteger:rang1.location]]; } return arrayRanges; } return nil; }
返回的数组对象就是重复字符在text 中的location, 使用方式是通过便利的形式,获取获取rang={array[i], findText.length}
相关文章推荐
- Visual Studio 2013: Error: 无法打开源文件 "iostream"
- iOS facebook PoP 初体验
- 基于iOS 使用GCD实现列表界面的图片异步下载
- xml解析
- 最近遇到的一个关于iOS屏幕旋转的坑,而且还是自己无意中挖的
- iOS首页广告无限轮播
- 隐藏键盘的方法
- iOS开发摇动手势实现详解
- iOS socket
- iOS CALayer解析
- 苹果开发小记(一):NSString 的比较用法
- iOS shareSDK进行分享
- 安卓自定义日期控件(仿QQ,IOS7)续
- 安卓自定义日期控件(仿QQ,IOS7)续
- iOS人脸识别(检测)
- iOS 设置button上图下字
- ios7 ios8导航栏透明
- <转帖>GitHub上值得关注的iOS开源项目
- XMPP 基础介绍 iOS导入XMPPFramework框架
- iOS - ASI与AFN