Разбор вывода с помощью Java - PullRequest
0 голосов
/ 01 июня 2018

Как я могу проанализировать вывод, например: (приведенный ниже) String to be parsed

Мне нужен «POLICY ENM_USERDEFINED_wtc2e3lms-bu» и значение только «EXIT STATUS».Существуют похожие выходы, но в разных позициях.Поэтому нельзя использовать подстроку или разделить.Синтаксический анализ должен выполняться с помощью Java.

Это вывод команды и, следовательно, требуется аналогичное имя "POLICY" и значение "EXIT STATUS Output Command

1 Ответ

0 голосов
/ 01 июня 2018

Вы можете использовать пару регулярных выражений, чтобы найти и вернуть текст после.

Например, используя ...

public String find(String pattern, String in) {
    Pattern p = Pattern.compile(pattern);
    Matcher matcher = p.matcher(in);
    if (matcher.find()) {
        return matcher.group();
    }
    return null;
}

И ...

String value = "some preable POLICY ENM_USERDEFINED_wtc2e3lms-bu some postable EXIT STATUS 100 some other stuff thrown in the mix";
System.out.println(find("POLICY ENM[a-zA-Z_0-9-]+", value));
System.out.println(find("EXIT STATUS [0-9]+", value));

Выходы ...

POLICY ENM_USERDEFINED_wtc2e3lms-bu
EXIT STATUS 100

Оттуда я бы использовал другое регулярное выражение для извлечения фактического значения состояния ... но я уверен, что вы можете понять эту часть;)

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