有没有办法使用replaceOccurrencesOfString
(来自NSMutableString
)来替换整个单词?
例如,如果我想替换字符串中所有出现的分数,比如“1/2”,我希望它只匹配那个特定分数。所以如果我有“11/2”,我会不希望它符合我的“1/2”规则。
我一直在努力寻找答案,但我没有运气。
答案 0 :(得分:12)
您可以在Regex中使用单词边界\b
。此示例匹配示例字符串的开头和结尾处的“1/2”,但不匹配中间选项
// Create your expression
NSString *string = @"1/2 of the 11/2 objects were 1/2ed in (1/2)";
NSError *error = nil;
NSRegularExpression *regex =
[NSRegularExpression
regularExpressionWithPattern:@"\\b1/2\\b"
options:NSRegularExpressionCaseInsensitive
error:&error];
// Replace the matches
NSString *modifiedString =
[regex stringByReplacingMatchesInString:string
options:0
range:NSMakeRange(0, [string length])
withTemplate:@"HALF USED TO BE HERE"];