本章讲解接口自动化的参数化替换
public static String paramReplace(String oldStr) { if (oldStr != null) { // 正则表达式 String regex = "\\{\\{(.*?)\\}\\}"; // 获取Pattern对象 Pattern pattern = Pattern.compile(regex); // 获取Matcher对象 Matcher matcher = pattern.matcher(oldStr); //返回的新字符串 String newStr = oldStr; // 需要替换的字符串 String findStr = ""; // matcher.find():是否有找到下一个 while (matcher.find()) { // matcher.group(0):找到正则表达式对应的字符串 findStr = matcher.group(0); // matcher.group(1):找到正则表达式对应的内层字符串 String getStr = matcher.group(1); // 字符串替换,这里是参数化替换 newStr = oldStr.replace(findStr, String.valueOf(parameterizationAll.get(getStr))); // 这里是替换指定的字符串,测试的 newStr = oldStr.replace(findStr, "haha"); // 把替换后的字符窜赋值给老的字符串,方便下一个寻找在替换,不然就只替换了第一个 oldStr = newStr; } return newStr; } return null; }