关于用NSRegularExpression来找出表情和网址
2015-11-12 09:34
246 查看
在开发中遇到表情问题的时候,比如[惊恐]、[吓]、[疑问]。想要在一句话中找到对应的表情,比如“我很喜欢你啊[亲亲]给我一次机会吧[可怜][哈哈]”。我们可以用谓词(NSPredicatel类)来查找,也可以用NSRegularExpression来解决这类问题。
下面直接上代码
-(void)parseString{
//组装一个字符串,需要把里面的网址解析出来
NSString *urlString=@"sfdsf[惊恐][吓][哈哈]";
//NSRegularExpression类里面调用表达的方法需要传递一个NSError的参数。下面定义一个
NSError *error;
//http+:[^\\s]*
这个表达式是检测一个网址的。 例如:sfdsfhttp:www.baidu.com
//\\[[a-zA-Z0-9\\u4e00-\\u9fa5]+\\]
这个表达式是检测类似[惊恐]、[吓]这种表情的
NSRegularExpression *regex = [NSRegularExpressionregularExpressionWithPattern:@"\\[[a-zA-Z0-9\\u4e00-\\u9fa5]+\\]"options:0error:&error];
if (regex !=
nil) {
NSTextCheckingResult *firstMatch=[regex
firstMatchInString:urlString
options:0range:NSMakeRange(0, [urlStringlength])];
if (firstMatch) {
NSRange resultRange = [firstMatch
rangeAtIndex:0];
//等同于 firstMatch.range ---相匹配的范围
//从urlString当中截取数据
NSString *result=[urlString
substringWithRange:resultRange];
//输出结果
NSLog(@"%@",result);
}
}
}
2.使用正则表达式来判断
//初始化一个NSRegularExpression 对象,并设置检测对象范围为:0-9
NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:@"^[0-9]*$" options:0 error:nil];
if (regex2)
{//对象进行匹配
NSTextCheckingResult *result2 = [regex2 firstMatchInString:textField.text options:0 range:NSMakeRange(0, [textField.text length])];
if (result2) {
}
}
下面直接上代码
-(void)parseString{
//组装一个字符串,需要把里面的网址解析出来
NSString *urlString=@"sfdsf[惊恐][吓][哈哈]";
//NSRegularExpression类里面调用表达的方法需要传递一个NSError的参数。下面定义一个
NSError *error;
//http+:[^\\s]*
这个表达式是检测一个网址的。 例如:sfdsfhttp:www.baidu.com
//\\[[a-zA-Z0-9\\u4e00-\\u9fa5]+\\]
这个表达式是检测类似[惊恐]、[吓]这种表情的
NSRegularExpression *regex = [NSRegularExpressionregularExpressionWithPattern:@"\\[[a-zA-Z0-9\\u4e00-\\u9fa5]+\\]"options:0error:&error];
if (regex !=
nil) {
NSTextCheckingResult *firstMatch=[regex
firstMatchInString:urlString
options:0range:NSMakeRange(0, [urlStringlength])];
if (firstMatch) {
NSRange resultRange = [firstMatch
rangeAtIndex:0];
//等同于 firstMatch.range ---相匹配的范围
//从urlString当中截取数据
NSString *result=[urlString
substringWithRange:resultRange];
//输出结果
NSLog(@"%@",result);
}
}
}
2.使用正则表达式来判断
//初始化一个NSRegularExpression 对象,并设置检测对象范围为:0-9
NSRegularExpression *regex2 = [NSRegularExpression regularExpressionWithPattern:@"^[0-9]*$" options:0 error:nil];
if (regex2)
{//对象进行匹配
NSTextCheckingResult *result2 = [regex2 firstMatchInString:textField.text options:0 range:NSMakeRange(0, [textField.text length])];
if (result2) {
}
}
相关文章推荐
- 职场必须要会的餐桌礼仪
- STM32的GPIO口的8种配置模式
- javascript倒计时效果实现
- android 各个版本对应的api等级
- 实况球员综合能力大比拼
- HTML TBLE表格重复内容列合并javascript方法
- Android安装应用程序出现“INSTALL_FAILED_CONTAINER_ERROR
- sql面试题
- 自定义信号槽
- ubuntu修改主机名
- Linux基于heartbeat配置httpd高可用服务
- 数据挖掘之社交网络 DFS和BFS算法
- CentOS 无法执行ftp指令
- HTML5 Web app开发工具Kendo UI Web教程:创建自定义组件(三)
- 你真的会玩SQL吗?Top和Apply
- 你真的会玩SQL吗?透视转换
- jdbc Date(PreparedStatement.set)
- HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑)
- 芒果iOS开发之格式转化符总结
- Nginx配置thinkPHP 支持phpinfo和rewrite