【发布时间】:2017-06-23 07:39:08
【问题描述】:
我想用解析的$1 替换字符串中每个出现的正则表达式。我该怎么做?
String line = "foo <<VAR>> bar <<VAR>>";
Matcher matcher = Pattern.compile("<<(\\w*?)>>").matcher(line);
Map<String,String> replacements = Collections.singletonMap("VAR","REPLACEMENT");
String replacedLine = matcher.replaceAll(replacements.get(?.group(1)));
Assert.assertTrue("foo REPLACEMENT bar REPLACEMENT".equals(replacedLine));
【问题讨论】:
-
为什么不直接使用String的replaceAll方法?
标签: java string regexp-replace