Вы можете использовать регулярные выражения и Matcher для замены чего-либо внутри {}, используя приведенное ниже решение:
Pattern pat1 = Pattern.compile("(\\{[\\w]+\\})");
int index = 0;
Matcher m1 = pat1.matcher(str);
StringBuffer sb = new StringBuffer();
while(m1.find() && index<list.size()){ //checking index is necessary to not throw `ArrayIndexOutofBoundsException`
m1.appendReplacement(sb, list.get(index));
index += 1;
}
m1.appendTail(sb);
System.out.println(sb);
Вывод:
Iamstillquite/One/newtoJava/programm/ingandIam/Two/tryingtoupdate/anexisting
Существует тот, включенный с Воспламенителем Кода, Вы могли проверить его и видеть, удовлетворяет ли он Ваши потребности.
Вы найдете хороший пример на том, который идет с CakePHP:
Это - часть платформы, и это - лицензируемый MIT.
Я использую этот Улучшенное множественное число в сценарии действий php и ROR . Он выпущен с лицензией MIT и не является частью платформы.