Java 中是否有任何 String
替换机制,我可以在其中传递带有文本的对象,并在出现时替换字符串。
例如,文本是:
Hello ${user.name},
Welcome to ${site.name}.
我拥有的对象是 "user"
和 "site"
。我想用对象中的等效值替换 ${}
中给出的字符串。这与我们在速度模板中替换对象相同。
原文由 Joe 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java 中是否有任何 String
替换机制,我可以在其中传递带有文本的对象,并在出现时替换字符串。
例如,文本是:
Hello ${user.name},
Welcome to ${site.name}.
我拥有的对象是 "user"
和 "site"
。我想用对象中的等效值替换 ${}
中给出的字符串。这与我们在速度模板中替换对象相同。
原文由 Joe 发布,翻译遵循 CC BY-SA 4.0 许可协议
看一下 java.text.MessageFormat
类,MessageFormat 获取一组对象,对其进行格式化,然后将格式化后的字符串插入模式中适当的位置。
Object[] params = new Object[]{"hello", "!"};
String msg = MessageFormat.format("{0} world {1}", params);
原文由 RealHowTo 发布,翻译遵循 CC BY-SA 2.5 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
使用来自 Apache Commons Text 的
StringSubstitutor
。https://commons.apache.org/proper/commons-text/
它会为你做(和它的开源…)