gpt4 book ai didi

Java正则表达式提取和替换值

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:00:01 25 4
gpt4 key购买 nike

输入字符串

${abc.xzy}/demo/${ttt.bbb}
test${kkk.mmm}

结果 世界/演示/你好 测试系统

大括号内的文本是我的属性的键。我想用运行时值替换这些属性。

我可以执行以下操作来获得正则表达式匹配,但是我应该在替换逻辑中放入什么来更改 ${..} 与输入字符串中相应的运行时值匹配。

Pattern p = Pattern.compile("\\{([^}]*)\\}");
Matcher m = p.matcher(s);
while (m.find()) {
// replace logic comes here
}

最佳答案

另一种方法是使用第三方库,例如 Apache Commons Text。他们的 StringSubstitutor 类看起来很有前途。

Map valuesMap = HashMap();
valuesMap.put("abc.xzy", "World");
valuesMap.put("ttt.bbb", "Hello");
valuesMap.put("kkk.mmm", "System");

String templateString = "${abc.xzy}/demo/${ttt.bbb} test${kkk.mmm}"
StringSubstitutor sub = new StringSubstitutor(valuesMap);
String resolvedString = sub.replace(templateString);

有关更多信息,请查看 Javadoc https://commons.apache.org/proper/commons-text/javadocs/api-release/org/apache/commons/text/StringSubstitutor.html

关于Java正则表达式提取和替换值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56662154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com