Remplacer les variables dans le texte: Suggestions?
-
18-09-2019 - |
Question
Je suis à la recherche d'un moteur agréable modèle ou un court morceau de code pour les variables Ant-développer comme dans une chaîne en Java. Exemple:
String result = expand ("${firstName} ${familyName}", map);
Il faut au moins le soutien java.util.Map
mais quelque chose qui peut gérer des haricots ou des récursives ou des recherches dans une liste des recherches de cartes / objets serait les bienvenus.
Suggestions?
[EDIT] En réponse à TofuBeer: Aucun identificateur Java de nidification, valables que dans la {}
. Tout ce que l'extérieur de ${}
doit être copié mot pour mot. $$
devrait devenir $``. If that's not possible ${dollar}
devrait étendre à un seul $
(afin que vous puissiez exprimer 15.00 $
).
La solution
de href="http://commons.apache.org/lang/" rel="nofollow noreferrer"> Commons Lang fait à peu près ce que vous demandez
Autres conseils
StringTemplate afin de mettre en œuvre 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();
}
Jetez un oeil à Freemarker och vitesse, les deux sont des moteurs modèle