Регулярные выражения - разделить строку и добавить слова в ArrayList
В переменную s передаётся строка из слов разделённых табуляцией, пробелами и разными символами. Код снизу помогает разделить это строку на слова и вывести на экран, но мне нужно добавить все эти слова в коллекцию ArrayList, я не очень понимаю в регулярных выражениях и не очень понимаю как получить коллекцию из слов на которые разделяет строку этот код? Я нашёл метод collect, но не понимаю как с помощью него получить эту коллекцию для работы с ней как с обычной?
String s = "На дворе — трава, на траве — дрова. Не руби дрова на траве двора!"
Stream.of(s.split("[^A-Za-zА-Яа-я]+"))
.map(String::toLowerCase)
.sorted()
.forEach(System.out::println);
Ответы (1 шт):
Автор решения: Qwertiy
→ Ссылка
var list = Stream.of(s.split("[^A-Za-zА-ЯЁа-яё]+"))
.filter(x -> x.length() != 0)
.map(String::toLowerCase)
.distinct()
.collect(Collectors.toList())