iOS字符串搜索配对网址,及NSArray存储结构体方法
2015-07-24 10:25
489 查看
进行字符串搜索网址,进行配对,最好的方法还是需要使用的正则表达式
#pragma mark - 判断是否有网址 - (void)checkHasURL { static NSString *urlExpression = @"((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[\\-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9\\.\\-]+|(?:www\\.|[\\-;:&=\\+\\$,\\w]+@)[A-Za-z0-9\\.\\-]+)((:[0-9]+)?)((?:\\/[\\+~%\\/\\.\\w\\-]*)?\\??(?:[\\-\\+=&;%@\\.\\w]*)#?(?:[\\.\\!\\/\\\\\\w]*))?)"; NSString *content = _content.text; NSMutableArray *links = nil; if ([content length]) { links = [NSMutableArray array]; NSRegularExpression *urlRegex = [NSRegularExpression regularExpressionWithPattern:urlExpression options:NSRegularExpressionCaseInsensitive error:nil]; [urlRegex enumerateMatchesInString:content options:0 range:NSMakeRange(0, [content length]) usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) { NSRange range = result.range; [_content addLinkWithLinkData:[NSValue valueWithRange:range] linkColor:kAppDelegate.gloablTextColor underLineStyle:kCTUnderlineStyleNone range:range]; //转换为NSValue对象存入array NSValue *value = [NSValue valueWithBytes:&range objCType:@encode(NSRange)]; [links addObject:value];//储存所有的数据 //使用方法,对象回转成结构体 //NSRange range; //[value getValue:&range]; }]; } }
//转换为NSValue对象存入array NSMutableArray links = [NSMutableArray array]; NSValue *value = [NSValue valueWithBytes:&range objCType:@encode(NSRange)]; [links addObject:value];//储存所有的数据 //使用方法,对象回转成结构体 NSRange range; [links[index] getValue:&range];
相关文章推荐
- iOS触摸事件
- iOS内存警告处理
- iOS 应用评分
- iOS 自定义一个视图作为根视图
- ios进制
- iOS 回收键盘
- iOS开发-清理缓存功能的实现
- iOS 开发之navigationController下子类视图发生位移的解决方法
- iOS 集成银联支付(绕过文档的坑,快速集成)
- 关于iOS7 上下黑条解决办法
- iOS开发之使用Runtime给Model类赋值
- iOS 集成银联支付(绕过文档的坑,快速集成)
- iOS的三维透视投影
- iOS 27个库
- 如何成为一名优秀的 iOS 开发工程师
- IOS研究成果——在autolayout 如何实现 Cell 的高度自适应
- iOS 用命令实现简单的打包过程
- iOS Sprite Kit教程之使用帮助文档以及调试程序
- iOS Sprite Kit教程之申请和下载证书
- 初涉iOS 通知机制