Формат сообщения о предоставлении желаемого результата

Я пытаюсь заменить {0} в строке значением. Код, который я написал для него:

String formattedText = MessageFormat.format("'{0}'", "1");
System.out.println(formattedText);

Он дает вывод как: {0}

Пожалуйста, дайте мне знать, что я делаю неправильно.


person VIBHOR GOYAL    schedule 28.02.2020    source источник
comment
Не знаю, каков ваш более крупный вариант использования, но для простых случаев, таких как пример, возможно, также стоит рассмотреть возможность использования вместо этого String.format. Кажется, проще использовать такое прямое форматирование.   -  person Frank Hopkins    schedule 28.02.2020


Ответы (4)


Попробуйте следующий код:

 String formattedText = MessageFormat.format("''{0}''", "1");
        System.out.println(formattedText);

Вы можете проверить этот ответ для получения дополнительной информации.

person Prog_G    schedule 28.02.2020

Вам нужно удалить одинарные кавычки вокруг {0}. Метод формата видит это как литеральную строку.

person mwarren    schedule 28.02.2020

Это должно быть похоже

String formattedText = MessageFormat.format("{0}", "'1'");

В противном случае '{}' не считается заполнителем формата.

person Kris    schedule 28.02.2020

Включить двойную одинарную кавычку должно работать:

MessageFormat.format("''{0}''", "1");

Or

Вы можете использовать String.format:

String.format("'%s'", "1");

person Vallabha Vamaravelli    schedule 28.02.2020