UIWebView 객체에 일부 HTML 문자열을 표시해야하는 iOS 앱을 작성합니다. 검색을 시도하고 패턴을 찾아 이미지에 대한 적절한 링크로 대체하려고합니다. 이미지 링크는 [pic:brand:123]
과 같은 원본입니다. pic
은 항상 pic
이고, brand
은 영숫자 일 수 있으며, 123
은 공백이 아닌 임의의 영숫자 일 수 있습니다. NSString 정규식 찾기 및 바꾸기
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]);
최종 결과는 무엇을 기대합니까? –
나는 [pic : brand : 123]이'/ photo/brand/123.gif '가 될 것으로 기대한다. 상표는 여기에서 일반적이다. 그것은 여러 옵션 사이에 무엇이든간에 가능할 수 있습니다. – shawndreck