Подберите слово из начала строки в Java - PullRequest
0 голосов
/ 12 сентября 2018

У меня есть следующий вывод из команды:

NAME         PLATFORM   STATUS
----         --         ------
XAB           Windows    Yes
ABB          Windows    Yes
AB           Windows    No
ABAB        Windows    Yes

Где столбец имени содержит уникальные строки.

Я хочу выяснить, существует ли входная строка в столбце имени, так что онаточно соответствует входу.Например, если я ищу A или B, он вернет false, AB вернет true.

Я попытался выполнить следующее, которое возвращает false:

Arrays.stream(str.split("\n"))
            .filter(line -> line.matches("^AB "))
            .findFirst()
            .isPresent()

string.contains() некажется подходящим, поскольку он не будет выполнять строгую проверку шаблона.

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

1 Ответ

0 голосов
/ 12 сентября 2018

Чтобы проверить, начинается ли строка со значения, вы можете использовать String#startsWith:

line.startsWith("AB ")

или, если вы планируете использовать регулярное выражение, использовать .matches, помня, что оно должно соответствовать целомуline (таким образом, добавление .* необходимо, поскольку оно будет соответствовать любым 0+ символам, кроме символов разрыва строки, как можно большему числу):

line.matches("AB .*")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...