Замените текст между скобками в Java

#java #string #replace #between #brackets

Вопрос:

Я пытаюсь закодировать программу для личных целей, она работает, но с некоторыми … да.

Я хочу, чтобы мой результат был таким:

 Hello yourname!  

но выход по току такой:

 Hello {yourname}!  

Вот шаблон, который я использую:

 Matcher matcher = Pattern.compile("\{(.*?)\}").matcher(text);  

Любая помощь поможет мне приблизиться.

PS: Я уже пытался заменить скобки replaceAll(char, char) методом, но он выдает исключение из шаблона!

Ответ №1:

 public static String replaceText(String str, String value) {  return str.replaceAll("\{[^}] \}", value); }  

ДЕМОНСТРАЦИЯ:

 System.out.println(replaceText("Hello {yourname}!", "Oleg")); // Hello Oleg!