Есть список ненужных символов, допустим String taboo = "1234567890!@#$%^&*()_+!№;%:?*/\\\"~";`
И есть строка String s = sc.nextLine();
Как из вводимой строки удалить(заменить пробелами) все символы, которые есть в списке taboo?
public class Main {
public static void main(String[] args) {
String taboo = "1234567890!@#$%^&*()_+!№;%:?*/\\\"~";
String s = "Hello123World!?!.?!";
for (char c : taboo.toCharArray()) {
s = s.replace(c, ' ');
}
System.out.println(s);
}
}
Можно воспользоваться следующим методом из библиотеки Apache Commons: StringUtils.replaceChars(String str, String searchChars, String replaceChar).
Если вы читаете текст построчно и этот текст достаточно длинный, то, возможно есть смысл сделать таким образом:
public static void main(String[] args) {
String taboo = "1234567890!@#$%^&*()_+!№;%:?*/\\\"~";
Set<Character> symbols = taboo.chars().mapToObj(e->(char)e).collect(Collectors.toSet());
StringBuilder result = new StringBuilder();
String s = "Hello123World!?!.?!";
result.append(delSymbols(s, symbols));
System.out.println(result);
}
private static StringBuilder delSymbols(String nextString, Set<Character> symbols){
StringBuilder sb = new StringBuilder();
for (char ch : nextString.toCharArray()) {
if (!symbols.contains(ch)) sb.append(ch);
}
return sb.append("\r\n");
}
Две строки кода в средине метода main - это ваш цикл. В итоге на выходе вы получите объект StringBuilder в данном контексте именованный как result.
В этом случае приходится создавать дополнительную коллекцию типа сет, однако при большом объеме текста использование этой коллекции и StringBuilder должно окупиться и с точки зрения времени выполнения, и с точки зрения системных ресурсов.
Попробуйте протестировать на время в реальных условиях, выложите результат. Мне тоже интересно.
taboo.replaceAll(было, стало);
Как развивать веб-проекты в 2026 году: технологии, контент E-E-A-T и факторы доверия
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники