我需要改造的字符串:如何匹配这种模式? (Java /正则表达式)
"%s blabla %s"
到:
"%1$s blabla %2$s"
我的代码如下:
Pattern pattern = Pattern.compile("%s");
Matcher tokenMatcher = pattern.matcher(value);
int index = 1;
while(tokenMatcher.find()){
String replacement = "%"+String.valueOf(index++)+"\\$s";
value = tokenMatcher.replaceFirst(replacement);
System.out.println(value);
}
的问题是,该方案得到在无限循环中,我不明白为什么。不知怎的,%1$s
由%s
%1$s blabla %s
%2$s blabla %s
%3$s blabla %s
%4$s blabla %s
%5$s blabla %s
%6$s blabla %s
%7$s blabla %s
%8$s blabla %s
%9$s blabla %s
%10$s blabla %s
etc...
任何想法是否匹配?
我改变了代码。现在就试试。 – 2013-02-20 16:51:13
现在它工作正常(+1) – Tom 2013-02-20 16:51:48