Это будет работать примерно так
someUtility.replace ("Hello, my name is {1}. What is your {2}?", "Mark", "name");
String.format("Hello, my name is %1$s. What is your %2$s?", "Mark", "name");
или если вы будете использовать каждый раз по порядку:
String.format("Hello, my name is %s. What is your %s?", "Mark", "name");
Посмотрите на MessageFormat :
MessageFormat.format("Hello, my name is {0}. What is your {1}?", "Mark", "name");
Обычно я предпочитаю String.format или System.out.printf, хотя для форматирования в стиле c (вроде), как предложил Мэтью.
String.format
System.out.printf
Если вы хотите использовать Spring, Resource Bundles предоставит вам точный стиль замены, который вы отобразили. Вы можете увидеть несколько примеров здесь: http://www.mkyong.com/spring/spring-resource-bundle-with-resourcebundlemessagesource-example/