有没有办法使用replaceOccurrencesOfString
(from NSMutableString
) 替换整个单词?
例如,如果我想替换字符串中所有出现的分数,比如“1/2”,我希望它只匹配那个特定的分数。所以如果我有“11/2”,我不希望它与我的“1/2”规则相匹配。
我一直在试图寻找这个问题的答案,但我没有运气。
有没有办法使用replaceOccurrencesOfString
(from NSMutableString
) 替换整个单词?
例如,如果我想替换字符串中所有出现的分数,比如“1/2”,我希望它只匹配那个特定的分数。所以如果我有“11/2”,我不希望它与我的“1/2”规则相匹配。
我一直在试图寻找这个问题的答案,但我没有运气。
您可以在 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"];