Замените {0}, {1} .. {n} в шаблоне с заданными значениями - PullRequest
2 голосов
/ 13 августа 2010

Рассмотрим шаблон строки следующего формата:

String template = "The credentials you provided were username '{0}' with password '{1}'";

Поля переменных подстановки имеют вид {n}, где n - это индекс, начинающийся с нуля.

Это формат шаблона, используемый в Adobe Flex, см. StringUtil.substitute (...) . А также .NET, IIRC.

Поскольку я хочу повторно использовать шаблоны, используемые кодом Flex, я ищу эквивалент Java. Мне известно о String.format(...), но структура шаблона не идентична.

Каков наилучший способ получить те же функциональные возможности Flex-совместимого шаблона в Java?

По сути, это желаемый конечный результат:

assert(StringUtil.substitute(template, "powerUser", "difficultPassword") == "The credentials you provided were username 'powerUser' with password 'difficultPassword'");

Ответы [ 2 ]

3 голосов
/ 13 августа 2010

Использование MessageFormat

1 голос
/ 13 августа 2010
...