Удаление части строки со специальными символами

У меня строки, по типу этой

{\pos(830,575)}{\hide18}In the promise you made at all

мне надо убрать тэг \hide, включая фигурные скобки

{\pos(830,575)}In the promise you made at all

Но мой код не может обработать знак '\'

String s = line.replaceAll( "{" + "\" + "hide" + type + "}", "");

Сколько бы я ни писал дополнительных знаков '\', это не работает, получаю Illegal repetition


Ответы (1 шт):

Автор решения: Wiktor Stribiżew

Используйте

.replaceAll("\\{\\\\hide[^{}]*}", "") 

См. пример работы кода и демо регулярного выражения.

Подробности

  • \{\\hide - строка {\hide
  • [^{}]* - 0 и более символов, отличных от { и }
  • } - символ }.
→ Ссылка