我试图使用regexKitLite替换一个字符,而不是在字符串开头替换一个字符,然后是另一个字符。
thisPlate = [sBasePlate
stringByReplacingOccurrencesOfRegex:[NSString stringWithFormat:@"([^\\^]%@)", thisChar]
withString:[NSString stringWithFormat:@"\1%@", thisRep]
];如果sBasePlate是"temp",那么thisPlate将被设置为emp,但我希望它是teemp。
因此,我试图将字符串的开头(后面是thisChar )替换为与thisRep匹配的字符串。
我的背书弄错了吗?因为那似乎是缺少的东西。它正在添加thisRep,但忽略了初始匹配,并且没有将其重新放入\1中。
对不起,如果我做了一些非常愚蠢和明显的事情,这是我的第一个应用程序。
发布于 2011-08-11 19:27:58
对,我解决了。我讨厌回答我自己的问题,但别人可能会犯和我一样的错误,所以我错过了一件愚蠢的事情。
后面的推荐信应该是$符号。
withString:[NSString stringWithFormat:@"$1%@", prevRep]这个字符串应该是这样写的。
令人恼火的是,这里的文档说,后面的引用应该是"\n":
http://regexkit.sourceforge.net/RegexKitLite/
但是其他地方的一个例子显示了$n,我应该猜到这一点。哦,好吧。
https://stackoverflow.com/questions/7018698
复制相似问题