Итак, у меня есть этот код;Замена строк номером в нем без петли
for (int i = 1; i <= this.max; i++) {
in = in.replace("{place" + i + "}", this.getUser(i)); // Get the place of a user.
}
Который работает хорошо, но я хотел бы просто держать его в простой (с помощью сопоставления с образцом) поэтому я использовал этот код, чтобы проверить, соответствует ли это;
System.out.println(StringUtil.matches("{place5}", "\\{place\\d\\}"));
Спички StringUtil;
public static boolean matches(String string, String regex) {
if (string == null || regex == null) return false;
Pattern compiledPattern = Pattern.compile(regex);
return compiledPattern.matcher(string).matches();
}
Который возвращает истину, тогда приходит следующая часть мне нужна помощь, заменив {place5}, так что я могу разобрать номер. Я мог бы заменить «{place» и «}», но что, если их было несколько в строке («{place5} {username}»), тогда я больше не могу этого делать, насколько мне известно , если вы знаете, есть ли простой способ сделать это, то, пожалуйста, дайте мне знать, если нет, я могу просто придерживаться цикла for.
Вы имеете в виду, что вам просто нужно получить номер после 'place'? 's = s.replaceAll (". * \\ {place (\\ d +)}. * "," $ 1 ");'? Просьба представить пример ввода и вывода. –
Доступен ли 'replaceAll()'? –
Да, это сработало. Благодаря! :) – xErik75125690x