通配符 $ 替换
开发过程中,我们会用到$通配符来匹配。假如有一段话 我是${userName},今年${age}岁,这个时间,别人只需要传userName和age,然后得到我们想要的话。我是张三,今年28岁.,下面代码来替换
/**
* 给一个string 替换${linecode}的内容
* @param str 需要替换的string
* @param map 参数map
* @return
*/
public static String strReplace(String str,Map<String,Object> map){
for (Map.Entry<String, Object> e : map.entrySet()) {
if (str.contains(e.getKey())) {
str = str.replaceAll("\\$\\{" + e.getKey() + "\\}", String.valueOf(e.getValue()));
}
}
return str;
}
public static void main(String[] args) {
//通配符替换map
Map<String, Object> replaceMap = new HashMap<>();
replaceMap.put("userName","张三");
replaceMap.put("age","14");
String text = "我是${userName},今年${age}岁";
String newText = StrTool.strReplace(text, replaceMap);
System.out.println(newText);
}
看到控制台打印的结果,我们的目的实现了。其实这个$ 可以换成其他,在工具方法进行修改也行