Вот такой вариант работает
private static void replace() {
String t = "Мне очень нравится Тайланд*-+";
System.out.println(t.replaceAll("[^а-яА-Я\\s]", ""));
}
Но надо принять множество и обработать, и уже такой вариант не работает
private static SortedSet<String> clearSet(SortedSet<String> set) {
for (String string : set) {
string.replaceAll("[^а-яА-Я\\s]", "");
set2.add(string);
}
return set2;
}
Вопрос. Как написать логику, оставляя только буквы
String
— неизменяемый класс. Метод replaceAll не изменяет саму строку, а возвращает новую, измененную строку.
Рассмотрим на примере:
String input = "ab";
String result = input.replaceAll("a", "");
System.out.println(input); //выводится "ab", строка не изменилась
System.out.println(result); //выводится "b"
Соответственно, для исправления нужно обрабатывать возвращаемое из replaceAll
значение.
Для этого можно объявить переменную:
for (String string : set) {
String clearString = string.replaceAll("[^а-яА-Я\\s]", "");
set2.add(clearString);
}
Или просто передать в set2
результат:
for (String string : set) {
set2.add(string.replaceAll("[^а-яА-Я\\s]", ""));
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
пытаюсь поставить яву на deepin 154 вот что вываливается при попытке добавить репу:
Сразу оговорюсь, решения с английского SO мне не помоглиПробовал Это, это, и это,
Есть один сайт, нужно "слить" весь контентСтруктура следующая : http://lenfilm