您可以使用正则表达式:
NSMutableString *str = [@"Hello $World$, foo $bar$." mutableCopy];
NSRegularExpression *regex;
regex = [NSRegularExpression regularExpressionWithPattern:@"\\$([^$]*)\\$"
options:0
error:NULL];
[regex replaceMatchesInString:str
options:0
range:NSMakeRange(0, [str length])
withTemplate:@"[$1]"];
NSLog(@"%@", str);
// Output:
// Hello [World], foo [bar].
模式@"\\$([^$]*)\\$"
搜索
$<zero_or_more_characters_which_are_not_a_dollarsign>$
然后所有出现的地方都替换为[...]
. 该模式包含如此多的反斜杠,因为$
必须在正则表达式模式中转义。
stringByReplacingMatchesInString
如果您想创建一个新字符串而不是修改原始字符串,还有一种情况。