UIWebView オブジェクトに HTML 文字列を表示する必要がある iOS アプリを構築します。検索してパターンを見つけ、画像への適切なリンクに置き換えようとしています。画像リンクは のようなオリジナルのもの[pic:brand:123]で、picは常にpic、brand任意の英数字にすること123ができ、 は空白以外の英数字にすることもできます。
これまでのところ、次のようないくつかを試しました。
NSString *pattern = @"\\[pic:([^\\s:\\]]+):([^\\]])\\]";
しかし、これまでのところ、どれも機能していません。
サンプルコードは次のとおりです。
NSString *str = @"veryLongHTMLSTRING";
NSLog(@"Original test: %@",[str substringToIndex:500]);
NSError *error = nil;
// use regular expression to replace the emoji
NSRegularExpression *regex = [NSRegularExpression
                                  regularExpressionWithPattern:@"\\[pic:([^\\s:\\]]+):([^\\]])\\]"
                                  options:NSRegularExpressionCaseInsensitive error:&error];
if(error != nil){
    NSLog(@"ERror: %@",error);
}else{
    [regex stringByReplacingMatchesInString:str
                                    options:0
                                      range:NSMakeRange(0, [str length])
                               withTemplate:[NSString stringWithFormat:@"/%@/photo/%@.gif",
                                             IMAGE_BASE_URL, @"$1/$2"]];
NSLog(@"Replaced test: %@",[str substringToIndex:500]);