优化这个方法 public static String replaceWithStar(Set<String> strings, String input) { StringBuilder sb = new StringBuilder(input); for (String str : strings) { int index = sb.indexOf(str); while (index != -1) { sb.replace(index, index + str.length(), "***"); index = sb.indexOf(str, index + 3); } } return sb.toString(); }
时间: 2023-05-21 07:04:06 浏览: 138
Cstring转char、string、int等数据类型的方法
这个方法可以通过使用正则表达式来优化,可以使用replaceAll()方法来替换所有匹配的字符串,代码如下:
public static String replaceWithStar(Set<String> strings, String input) {
String regex = String.join("|", strings);
return input.replaceAll(regex, "***");
}
这个方法使用了String.join()方法来将Set中的字符串连接成一个正则表达式,然后使用replaceAll()方法来替换所有匹配的字符串。
阅读全文