Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Аватара для shisik

Ветеран


Сообщения: 3307
Благодарности: 599

Профиль | Отправить PM | Цитировать


Похоже, split для этого не годится. А что если так?

Код: Выделить весь код
private static String [] parseLine(String line) {
    ArrayList<String> result = new ArrayList<String>();
    Pattern pattern = Pattern.compile("^(.+?)\\s(\\d+)\\s(\\d+)\\s(\\d+)(?:\\s(.+?))?$");
    Matcher matcher = pattern.matcher(line);
    while (matcher.find()) {
        result.add(matcher.group());
    }
    return result.toArray(new String[0]);
}

//...

    String[][] array = Files.lines(path)
        .map(s -> parseLine(s))
        .toArray(String[][]::new);

Отправлено: 14:50, 25-05-2017 | #13