java正则表达式替换内容

private static String parse(String content,Map 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 m = new HashMap<>();
	m.put("${a}", "han");
	m.put("${b}", "zhong");
	System.out.println(parse("例如有这样一个${a}字符串字符串:用户'${a}'的名称${b}", m));
}

 

你可能感兴趣的:(java)