RegexKitLite替换模式更改发现匹配的情况

时间:2010-08-20 02:27:28

标签: cocoa regexkitlite

我想使用RegexKitLite更改找到的匹配的大小写(即小写到大写),但不知道如何或是否可能。在PCRE正则表达式中,你可以在替换模式中使用\ u $ 1来大写找到的第1组匹配。我看不出怎么做。有人可以告诉我怎么做?

提前致谢

1 个答案:

答案 0 :(得分:0)

使用RegexKitLite 4.0s阻止方法:

NSString *string = @"An example of lowercase to uppercase.";

NSString *replaced = [string stringByReplacingOccurrencesOfRegex:@"\\w+" usingBlock:^NSString *(NSInteger captureCount, NSString * const capturedStrings[captureCount], const NSRange capturedRanges[captureCount], volatile BOOL * const stop) {
  return([capturedStrings[0] capitalizedString]);
}];

NSLog(@"Replaced: '%@'", replaced);

运行时输出:

2010-08-22 14:25:20.047 RegexKitLite[33454:a0f] Replaced: 'An Example Of Lowercase To Uppercase.'