private static String parse(String content,Map<String,String> kvs){
Pattern p = Pattern.compile("(\\$\\{)([\\w]+)(\\})");
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}", "han");
m.put("${b}", "zhong");
System.out.println(parse("例如有這樣一個${a}字符串字符串:用戶'${a}'的名稱${b}", m));
}