您的位置:首页 > 其它

OC正则表达式

2015-09-16 20:14 337 查看
oc正则表达式不同于其他语言,主要是oc匹配成功后返回的是NSRange。

//需要匹配的语句
NSString *str1 = @"[00:01:01]where are you from[00:01:07]i come from china";
//正则表达式
NSString *pattern = @"\\d{2}\\][^\\[]*";
NSMutableArray *array = [[NSMutableArray alloc] init];
//转成oc语法
NSRegularExpression *regular = [[NSRegularExpression alloc] initWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:nil];
NSArray *arr3 = [regular matchesInString:str1 options:0 range:NSMakeRange(0, str1.length)];
for(NSTextCheckingResult *res in arr3){
//返回的是符合条件的范围。(res.range)
NSMutableString *m_str1 = [[NSMutableString alloc ]initWithString:[str1 substringWithRange:res.range]];
[m_str1 replaceOccurrencesOfString:@"]" withString:@": " options:0 range:NSMakeRange(0, [m_str1 length])];
[array addObject:m_str1];
}
NSString *resultString = [array componentsJoinedByString:@" "];
NSLog(@"%@",resultString);


输出结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: