IOS--正则表达式的使用(字符串的查找和替换)
2014-05-26 13:01
633 查看
-(void)parseLink { NSError* error = NULL; //(encoding=\")[^\"]+(\") //分成三段来理解 /* 第一段:以某段字符做为起始 (encoding=\") 括号内为实际内容 第二段:对于包含中的定义,参见正则. 第三段:再以某段字符做为收尾 (\") */ NSString *test = @"#dsadsadas# http://www.badidu.com 我的"; NSString *regexStr = @"(@\\w+)|(#\\w+#)|(http(s)?://([A-Za-z0-9._-]+(/)?)*)"; NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:regexStr options:0 error:&error]; NSArray *array = [regex matchesInString:test options:0 range:NSMakeRange(0, test.length)]; NSMutableArray *replaceStrS = [[NSMutableArray alloc]initWithCapacity:array.count]; for(NSTextCheckingResult *str2 in array) { NSString *str = [test substringWithRange:str2.range]; [replaceStrS addObject:str]; } for(NSString *str3 in replaceStrS) { NSString *replaceStr = nil; if([str3 hasPrefix:@"@"]) { replaceStr = [NSString stringWithFormat:@"<a href='user://%@'>%@</a>",str3,str3]; } else if([str3 hasPrefix:@"http"]) { replaceStr = [NSString stringWithFormat:@"<a href='%@'>%@</a>",str3,str3]; } else if([str3 hasPrefix:@"#"]) { replaceStr = [NSString stringWithFormat:@"<a href='topic://%@'>%@</a>",str3,str3]; } if(replaceStrS!=nil) { test = [test stringByReplacingOccurrencesOfString:str3 withString:replaceStr]; } NSLog(@"---->%@",test); } }
相关文章推荐
- PHP使用正则表达式查找替换字符串
- Notepad++ 使用正则表达式查找替换字符串
- PHP使用正则表达式查找替换字符串
- 使用正则表达式和replace替换一个字符串中截取的一字符串
- 在PHP中使用正则表达式进行查找替换 推荐
- VS.net 中,使用正则表达式进行查找、替换
- 在UltraEdit的查找和替换中使用正则表达式 (转)
- 在codeblock中使用正则表达式替换字符串
- [SQL Server]使用正则表达式来查找字符串
- 在UltraEdit的查找和替换中使用正则表达式 (转)
- 在DW中使用正则表达式查找替换
- VS.net IDE中,使用正则表达式进行查找、替换
- vs中在查找替换中使用正则表达式
- 字符串处理是许多程序中非常重要的一部分,它们可以用于文本显示,数据表示,查找键和很多目的.在Unix下,用户可以使用正则表达式的强健功能实现这些 目的,从Java1.4起,Java核心API就引入了java.util.regex程序包,它是一种有价值的基础
- 在UltraEdit的查找和替换中使用正则表达式
- Visual Studio里使用正则表达式进行查找与替换
- 使用VS正则表达式查找替换,批量修改Reflactor生成的代码问题
- 在 VS 中查找替换时使用正则表达式的语法
- Myeclipse中使用正则表达式查找替换
- Myeclipse中使用正则表达式查找替换