//获取的字符串 String rule_param = healthRule.getRule_param(); int count = 0; int[] counts = new int[rule_param.length()]; int i = counts[0] = rule_param.indexOf("{"); //获取{或者}的数量 while (rule_param.indexOf("{", i + 1) != -1) { count = count + 1; counts[count] = rule_param.indexOf("{", i + 1); i = counts[count]; } int[] countList = new int[rule_param.length()]; countList[0] = counts[0]; int[] ints = new int[rule_param.length()]; ints[0] = rule_param.indexOf("}"); String[] strings = new String[counts.length]; //动态替换 for (int c = 0; c < count + 1; c++) { strings[c] = rule_param.substring(countList[c] + 1, ints[c]); rule_param = rule_param.replaceAll("\\$\\{" + strings[c] + "}", "msg." + strings[c] + ""); if (rule_param.indexOf("{", countList[c] + 1) != -1 && rule_param.indexOf("}", countList[c] + 1) != -1) { countList[c + 1] = rule_param.indexOf("{", countList[c] + 1); ints[c + 1] = rule_param.indexOf("}", ints[c] + 1); } } //获取替换之后的字符串 String laterRuleParam = rule_param;