提案:テキスト内の変数を置き換えますか?
-
18-09-2019 - |
質問
私は素敵なテンプレートエンジンやJavaで文字列内のAntのような変数を拡張するための短いコードを探しています。例:
String result = expand ("${firstName} ${familyName}", map);
これは、少なくともサポートjava.util.Map
が、マップのリストに豆や再帰的な検索や検索を扱うことができる何かが/オブジェクトは、あまりにも、歓迎されるであろうはずです。
提案?
TofuBeerへの返信には[EDIT]:{}
内には、ネスティング、唯一の有効なJava識別子。 ${}
の外側のものはそのままコピーされなければなりません。 $$
が$``. If that's not possible ${dollar}
が単一$
に展開する必要があります(あなたが15.00 $
を表現することができます)になるはずです。
解決
<のhref = "http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/text/StrSubstitutor.html" のrel = "nofollowをnoreferrer" コモンズラングを行い、かなりあなたが求めているものを
StrSubstitutorする >他のヒント
を使用 StringTemplate のexpand
を実現するために:
void expand(String template, Map<String,String> map) {
StringTemplate st = new StringTemplate(template);
for (Map.Entry<String, String> attribute : map) {
st.setAttribute(attribute.getKey(), attribute.getValue());
}
return st.toString();
}
、FreemarkerのOCH速度を見てください、それらの両方は、
テンプレートエンジンです所属していません StackOverflow