字符串开头的RegexKitLite问题

时间:2011-08-10 22:28:24

标签: iphone ios regexkitlite

我正在尝试使用regexKitLite替换一个不在STRING开头的字符,然后是另一个字符。

thisPlate = [sBasePlate 
             stringByReplacingOccurrencesOfRegex:[NSString stringWithFormat:@"([^\\^]%@)", thisChar] 
             withString:[NSString stringWithFormat:@"\1%@", thisRep]
             ];

如果 sBasePlate 为“temp”,那么 thisPlate 会设置为 \ temp ,但我希望它是 teemp

所以我试图取代NOT THE STRING THE STRING,然后是 thisChar ,替换为匹配后跟 thisRep

我的反馈是否错误?因为那似乎是缺失的。它正在添加 thisRep ,但忽略了初始匹配,而没有将其重新添加到 \ 1

对不起,如果我做了一些非常愚蠢而且显而易见的事情,这是我的第一个应用程序。

1 个答案:

答案 0 :(得分:1)

是的,我解决了。我讨厌回答自己的问题,但是其他人可能会犯同样的错误,所以我错过了一个很明显的愚蠢的事情...

后面的引用应该是$符号。

withString:[NSString stringWithFormat:@"$1%@", prevRep]

这就是写字符串的方式。

令人讨厌的是,这里的文档说后面引用应该是“\ n”:

http://regexkit.sourceforge.net/RegexKitLite/

但其他地方的例子显示$ n。我应该猜到了。那好吧。