Методы для строк

У меня есть допустим 3 строки

3424    Alex   432424
3244    John   432423
2342    Kate   432423

Я хочу, чтобы в значение строки записывалось чистое имя без цифр и пробелов, как мне это реализовать? мне надо это сделать, не писав каких-то find("Alex"), на месте тех имен у много разных, мне нужно т.е записывать ту строку, которая находится между пробелами


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

Автор решения: roddar92

Каждый раз, когда вы считываете новую строку, используйте метод split по пробелу и выводите второй элемент массива. Пример кода:

Scanner in = new Scanner(System.in);
while (true) {
    String line = in.next();
    if (line.equals("")) 
        break;
    String[] parts = line.trim().split(" ");
    if (parts.length > 1) 
        System.out.println(parts[1]);
}

Метод trim() отрезает пробелы слева и справа у входной строки.

Код может сработать в случае структурированного файла. Иначе у строки есть метод matches, который проверяет строку по регулярному выражению:

for (String s: line.trim().split(" ")) {
    if (s.matches("[a-zA-Z]+"))
        System.out.println(s);
}
→ Ссылка