Вытащить из строки первые цифры и буквенные значения через Stream API

Доброго времени суток!

Region(Long id, String name)

Есть у меня

List<String> bufreg = new ArrayList<>();
bufreg(0) = "1. EU/"
bufreg(1) = "2. RU/"
bufreg(2) = "3. ASIA/"

Как мне через Stream пройтись по каждому элементу списка bufreg, и создать новый список, в котором мы возьмем порядковый номер и запишем его в id, а буквы запишем в поле name:

new Region(1, "EU");
new Region(2, "RU");
new Region(3, "ASIA");

Ответы (1 шт):

Автор решения: Sergey Gornostaev
List<Region> regions = bufreg.stream()
    .map(i -> i.split("."))
    .filter(a -> a.length == 2)
    .map(a -> new Region(Long.valueOf(a[0]), a[1].trim()))
    .collect(Collectors.toList());
→ Ссылка