NSMutableString replaceOccurrencesOfString替换整个单词

时间:2013-02-04 20:57:28

标签: ios objective-c nsmutablestring

有没有办法使用replaceOccurrencesOfString(来自NSMutableString)来替换整个单词?

例如,如果我想替换字符串中所有出现的分数,比如“1/2”,我希望它只匹配那个特定分数。所以如果我有“11/2”,我会希望它符合我的“1/2”规则。

我一直在努力寻找答案,但我没有运气。

1 个答案:

答案 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"];