Оба { }
являются зарезервированными символами регулярного выражения. Поскольку функция replaceAll()
принимает параметр регулярного выражения, вы должны явно указать, что {
и }
являются частью вашей фактической строки. Вы можете сделать это, поставив перед ними префикс escape-символа: \
. Но поскольку escape-символ также является зарезервированным символом, его также необходимо экранировать.
Вот правильный способ написания кода:
String card = cards.get(count).getCard();
if (card.contains("{Player1}")) {
String replacedCard = card.replaceAll("\\{Player1\\}", "Poep");
}