private static String parse(String content, Map<String, String> kvs) {
String pattern = "\\$\\{(.*?)}";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(content);
StringBuffer sr = new StringBuffer();
while (m.find()) {
String group = m.group();
m.appendReplacement(sr, kvs.get(group));
}
m.appendTail(sr);
return sr.toString();
}
public static void main(String[] args) {
Map<String, String> m = new HashMap<>();
m.put("${a}", "xxx");
m.put("${b}", "sss");
System.out.println(parse("测试替换:${a}:${b}", m));
}