Замените все прямые использования MessageFormat
вашим методом.В вашем методе найдите фигурные скобки и замените их в зависимости от контекста, прежде чем передавать его в MessageFormat
.Что-то настолько глупое, как может
s.replace("{", "'{'").replace("}", "'}'").replaceAll("'\\{'(\\d+)'\\}'", "{$1}")
, в зависимости от того, какие аргументы вы используете.
Не используйте это (особенно String.replaceAll
), если вас это беспокоитс эффективностью.Мое решение полезно, если вам нужно сохранить мощность MessageFormat
.Эффективное решение будет один раз проанализировать входную строку и распознать, какие фигурные скобки следует заключить в кавычки.Посмотрите на исходный код Pattern.replaceAll
, как это можно сделать.