4

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

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

我一直在试图寻找这个问题的答案,但我没有运气。

4

1 回答 1

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"];
于 2013-02-04T21:04:22.477 回答