我想替换所有类似<xxxx>
的标签。
我试过了:
- (NSString *)grabData:(NSString *)searchTerm {
// Setup an error to catch stuff in
NSError *error = NULL;
//Create the regular expression to match against
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<.*>" options:NSRegularExpressionCaseInsensitive error:&error];
// create the new string by replacing the matching of the regex pattern with the template pattern(whitespace)
NSString *newSearchString = [regex stringByReplacingMatchesInString:searchTerm options:0 range:NSMakeRange(0, [searchTerm length]) withTemplate:@""];
NSLog(@"New string: %@",newSearchString);
return newSearchString;
}
但这不起作用。有谁可以帮助我?
答案 0 :(得分:2)
模式<.*>
匹配少于,任意数量的,包括大于,然后是大于。例如,此模式将匹配完整的HTML文件...
你需要的是<[^>]+>
[^>]
是所有字符的集合,不包括大于,+
是“一个或多个”,所以整个事情匹配较少-than,中的一个或多个排除大于,然后大于。
答案 1 :(得分:0)
您的正则表达式不正确。
基于此用途
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\<.+\\>" options:NSRegularExpressionCaseInsensitive error:&error];
它应该有效