Мне нужно преобразовать строку:Как совместить этот шаблон? (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...
Любая идея?
Я изменил код. Попробуй это сейчас. –
Теперь он отлично работает (+1) – Tom