Достать из строки числа, включая пробелы

170
24 октября 2018, 03:50

Есть текстовый документ со строками. Строки содержат:

Ivanov Ivan Ivanovich 31 12 1987
Vasya 15 5 2013

Имена могут быть с пробелами. Достаю их с помощью:

name = line.replaceAll("\\d", "").trim();

Вопрос. Как достать строку с числами, включая пробелы между ними?

birthday = line.replaceAll("\\w", ""); //возвращает пустую строку

Необходимо разбить строку, считываемую из файла на две строки. Первая содержит имя, вторая дату рождения.

Answer 1

Попробуйте такой вариант:

    public class SpacesHelp {
        public static void main(String[] args) {
            String source =
                "Ivanov Ivan Ivanovich 31 12 1987\n" +
                    "Vasya 15 5 2013";
            String[] lines = source.split("\n");
            for (String line : lines) {
                String result = line.replaceAll("(\\w+\\s)?(\\w+\\s)?(\\w+\\s)?(\\d+\\s\\d+\\s\\d+)", "$4");
                System.out.println(result);
            }
        }
    }
Answer 2
birthday = line.replaceAll("[^\\s\\d]", "").trim();

Или так:

name = line.replaceAll("\\d", "").trim();
birthday = line.replace(name, "").trim();
READ ALSO
Независимое текущее время в Java (Android)

Независимое текущее время в Java (Android)

Пишу приложение, логика которого требует подключаться к серверу для обновления раз в годНо дата в системе пользователя может быть установлена...

166
Как проверить клик в Android Studio

Как проверить клик в Android Studio

Я создаю мини игру в Android StudioПри клике View меняет цвет

151
Как отсортировать 3 элемента?

Как отсортировать 3 элемента?

Недавно начал учить Java и в качестве практической задачи нужно написать приложение, которое должна сравнивать 3 возраста и выдавать результат,...

191
Как проверить подключились ли шрифты CSS

Как проверить подключились ли шрифты CSS

Как проверить подключились ли шрифты CSS или нет?

151