一尘不染

Java中的字符串替换,类似于力度模板

java

StringJava中是否有任何替换机制,我可以在其中传递带有文本的对象,并在出现字符串时替换它。
例如,文本为:

Hello ${user.name},
    Welcome to ${site.name}.

我拥有的对象是"user""site"。我想${}用对象的等效值替换内部给定的字符串。这与替换速度模板中的对象相同。


阅读 505

收藏
2020-09-08

共1个答案

一尘不染

使用StringSubstitutorApache的共享文本。

https://commons.apache.org/proper/commons-
text/

它将为您(及其开源…)

 Map<String, String> valuesMap = new HashMap<String, String>();
 valuesMap.put("animal", "quick brown fox");
 valuesMap.put("target", "lazy dog");
 String templateString = "The ${animal} jumped over the ${target}.";
 StringSubstitutor sub = new StringSubstitutor(valuesMap);
 String resolvedString = sub.replace(templateString);
2020-09-08