replace包含任何数字的string的出现次数

说我有一个string,包含一个控制代码“\ f3”(是的,它是RTF)。 我想用另一个stringreplace该控制代码。 目前我正在使用[mutableString replaceOccurrencesOfString:@"\f3" withString:@"replacement string" options:0 range:NSMakeRange(0, [mutableString length])];

这工作正常,但有时代码可以是“\ f4”甚至“\ f12”例如。 我如何replace这些string? 我可以为每个使用replaceOccurrencesOfString ,但更好的方法是使用通配符,因为它可以是任何数字。

正则expression式会做到这一点。

看看NSRegularExpression (iOS> = 4)和这个页面的正则expression式如何工作。

你会想要的东西,如:

 // Create your expression NSError *error = nil; NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\b\f[0-9]*\\b" options:NSRegularExpressionCaseInsensitive error:&error]; // Replace the matches NSString *modifiedString = [regex stringByReplacingMatchesInString:string options:0 range:NSMakeRange(0, [string length]) withTemplate:@"replacement string"]; 

警告:我没有testing过我的表情,第一次让我觉得不太好。 我只知道正则expression式是你的前进方向,它必须看起来像这样;)