我需要一些帮助来构建正则表达式,以便从长字符串中删除带有搜索字词的href链接,然后将其解析为Web视图
href字符串的示例:<a href="/search/?search=Huntington">Huntington</a>
我想删除everthing但链接的纯文本(只是链接本身)但有麻烦
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<a href=\"/search/?search=([A-Z][a-z])\"" options:NSRegularExpressionCaseInsensitive error:&error];
任何帮助都会受到欢迎
由于
答案 0 :(得分:8)
我认为
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<a href=\"[^\"]+\">([^<]+)</a>" options:NSRegularExpressionCaseInsensitive error:&error];
NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@"$1"];
应该可以工作(我在TextMate中测试了正则表达式,但在XCode中没有测试过。)
答案 1 :(得分:2)
@ Helium3和@Carl解释就在上面,我想以corectly编写,我创建了这个函数,用于从NSString中删除一个href标签
-(NSString *)deleteAHref:(NSString *)originalString
{
NSError *regexError = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<a href=.*?>(.*?)</a>" options:NSRegularExpressionCaseInsensitive error:®exError];
NSString *modifiedString = [regex stringByReplacingMatchesInString:originalString options:0 range:NSMakeRange(0, [originalString length]) withTemplate:@"$1"];
return modifiedString;
}