字符串替换

来源:互联网 发布:java文明5 编辑:程序博客网 时间:2024/05/24 23:14
static String commond(String str, Map<String, String> args) {Pattern p = Pattern.compile("\\$\\{(.*?)\\}");Matcher m = p.matcher(str);List<String> strs = new ArrayList<String>();List<String> rep = new ArrayList<>();while (m.find()) {strs.add(m.group(1));rep.add(m.group(0));}for (int i = 0; i < rep.size(); i++) {str = str.replace(rep.get(i), args.get(strs.get(i)));}return str;}


String str= "sdadasd ${server} ${host}";Map<String, String> map = new  HashMap<String, String>();map.put("server","afads");map.put("host","fasdasdasdas");System.out.println(commond(str, map));
输出结果 
sdadasd afads fasdasdasdas