那麼最明顯的一點是:
@"\\{\\{|\\}\\}|\\[\\[|\\]\\]"
字面只是指定匹配{{
或}}
或[[
或]]
,各種因爲{,},[和]是通常指定正則表達式的語法的所有部分,因此斜槓shes本身需要在字符串文字中轉義。
因此,例如,
NSRegularExpression *expression = [NSRegularExpression
regularExpressionWithPattern:@"\\{\\{|\\}\\}|\\[\\[|\\]\\]"
options:0
error:nil];
NSString *initialString = @"[[hi]] {{this}} {is} [a] {{string}}";
NSString *finalString =
[expression
stringByReplacingMatchesInString:initialString
options:0
range:NSMakeRange(0, [initialString length])
withTemplate:@""];
NSLog(@"final string: %@", finalString);
輸出:
2013-05-09 00:15:57.699 Untitled[1064:707] final string: hi this {is} [a] string
你想從字符串中刪除[[]] {{}}所有這些charecters
? – Balu 2013-05-09 06:38:54
對不起...更新了帖子...我想要所有的{..}和[..]完好無損,而所有[[..]]和{{..}}被剝離 – Amarsh 2013-05-09 06:50:08