StrSubstitutor
Apache Commons の Lang は、名前付きプレースホルダーを使用した文字列の書式設定に使用できます。
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.1</version>
</dependency>
https://commons.apache.org/proper/commons-lang/javadocs/api-3.4/org/apache/commons/lang3/text/StrSubstitutor.html :
文字列内の変数を値で置き換えます。
このクラスは、テキストの一部を取り、その中のすべての変数を置き換えます。変数のデフォルトの定義は ${variableName} です。プレフィックスとサフィックスは、コンストラクターと set メソッドを介して変更できます。
変数値は通常、マップから解決されますが、システム プロパティから、またはカスタム変数リゾルバーを提供することによって解決することもできます。
例:
String template = "Hi ${name}! Your number is ${number}";
Map<String, String> data = new HashMap<String, String>();
data.put("name", "John");
data.put("number", "1");
String formattedString = StrSubstitutor.replace(template, data);