Java正则表达式 - 用不带分隔符的相同子字符串替换分隔符之间的子字符串

时间:2013-04-17 10:28:31

标签: java regex substring

我正在试图弄清楚如何用像

这样的字符串替换Java 1.6
hello ${world }!   ${txt + '_t'}<br/> ${do_not_replace

在'$ {'和'}'之间标识的子字符串与没有这些分隔符的相同子字符串。 所以上面字符串的输出应该是

hello world !   txt + '_t'<br/> ${do_not_replace

我确定了一种工作模式,允许我用固定字符串替换子字符串

str.replaceAll('[${](.*?)}', '_')

我知道我不能在这个版本的Java中使用命名组。

对此问题的简单解决方案的任何建议都非常感谢!非常感谢

1 个答案:

答案 0 :(得分:2)

    s = s.replaceAll("\\$\\{(.+?)}", "$1");