Java 字符串处理,如何用最简洁的语句替换"{{}}"中内容?

发布于 2022-09-01 21:36:40 字数 294 浏览 12 评论 0

比如:已知 name “amy”
输入:My name is {{ name }}
要求输出:My name is amy
由于对java的字符串操作不熟悉,我本人做法是构建一个 "{{ name }}"字符串(“{{ ”+ "name"+"}}"),然后匹配,找到后用 amy代替,不知道有没有更好的方法。

忘了一种复杂情况
name "Tom davae"

我想获得name这个属性,使key = name,value = Tom davae(去“”),不能用空格作为split的分割符,如何比较方便的得到这两个值

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

断桥再见 2022-09-08 21:36:41

用正则表达式吧,你看看别人模板引擎都是咋实现的

鸩远一方 2022-09-08 21:36:41

通常的做法是使用模板引擎,比如:freemarker,地址是http://freemarker.incubator.apache.org

如果是简单替换,那可以参考一下:

String content = "Hello{{space}}World{{space}}{{other_str}}";
Map<Object, Object> map = new HashMap();
map.put("space", " ");
map.put("other_str", "!!!");

for(Map.Entry<Object, Object> entry : map.entrySet()) {
    String regex = "\\{\\{" + entry.getKey() + "\\}\\}";
    content = content.replaceAll(regex, entry.getValue().toString());
}

System.out.println(content);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文