4

replaceOccurrencesOfString(from NSMutableString) を使用して単語全体を置き換える方法はありますか?

たとえば、"1/2" のような文字列内の分数をすべて置換したい場合、その特定の分数のみに一致するようにします。したがって、「11/2」があった場合、「1/2」ルールに一致させたくありません。

私はすでにこれに対する答えを探していましたが、運がありません。

4

1 に答える 1

12

正規表現で単語の境界\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 に答える