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式是你的前进方向,它必须看起来像这样;)