我需要检查该行是否包含必须消除的字符串并指出哪些符号将被消除。如果有三个或更多具有相同符号的连续字符,则
字符序列将替换为下划线 (" "),并根据序列长度进行替换。例如,行“ , _, @, @, @, @, $, $, , #, #,!” 将被转换为“ , _, _, _, _, _, _, $, $, _, #, #,!” 经过消除的过程。
我只需要使用 String 或 StringBuilder、Regex 等来执行此操作...(仅 Java 的基本编码)。
也不能使用数组。提前致谢。
这是我尝试过的:
public static void main(String[] args) {
String linha = "##,$$$$,%%%%,@%@@@,!!!!", validos = "$#%!@";
for (int i = 0; i < validos.length(); i++) {
linha = linha.replaceAll("\\" + validos.charAt(i) + "{3,}", "_");
}
System.out.println (linha);
}
}
这里的问题是只用一个“_”替换一个序列,我不知道哪些字符被替换了。