7

正規表現を作成して長い文字列から検索語を含む href リンクを削除し、それを解析して Web ビューに変換するのに助けが必要です

href 文字列の例:<a href="/search/?search=Huntington">Huntington</a>

リンクのプレーンテキスト(リンク自体のみ)以外はすべて削除したいのですが、問題があります

 NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<a href=\"/search/?search=([A-Z][a-z])\"" options:NSRegularExpressionCaseInsensitive error:&error];

どんな助けでも大歓迎です

ありがとう

4

2 に答える 2

9

おもう

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ではテストしませんでした)。

于 2012-07-26T08:30:12.257 に答える
3

@Helium3 と @Carl はすぐ上で説明し、正しく書きたいので、NSString から href タグを削除するためにこの関数を作成しました

-(NSString *)deleteAHref:(NSString *)originalString
{
    NSError *regexError = nil;
    NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"<a href=.*?>(.*?)</a>" options:NSRegularExpressionCaseInsensitive error:&regexError];
    NSString *modifiedString = [regex stringByReplacingMatchesInString:originalString options:0 range:NSMakeRange(0, [originalString length]) withTemplate:@"$1"];
    return modifiedString;
}
于 2014-01-05T18:33:01.660 に答える