Мне нужно проверить, содержит ли строка строки, которые необходимо удалить, и указать, какие символы будут удалены.
Последовательность символов заменяется символами подчеркивания ("") соответственно длине последовательности, если их три или несколько смежных символов с одним и тем же символом. например, строка ", _, @, @, @, @, $, $, , #, #,!" будет преобразовано в ", _, _, _, _, _, _, $, $, _, #, #,!" После процесса исключения.
Мне нужно сделать это только с помощью 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);
}
}
Проблема здесь в том, что последовательность заменяется только одним «_», и я не знаю, какие символы заменяются.