Какой самый простой способ отфильтровать изменяющийся номер в строке? - PullRequest
0 голосов
/ 30 апреля 2018

Может кто-нибудь сказать мне самый простой способ извлечь число «20» в следующей подстроке.

Уровень I (10/20)

Примечание. Числа в скобках и число за «Уровнем» изменяются и могут содержать больше символов, чем в этом примере

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

Ответы [ 2 ]

0 голосов
/ 30 апреля 2018

Как насчет этого, работает и для многострочного ввода:

^Level[[:blank:]].+\([\d]*\/([\d]*)\)

Тест здесь

0 голосов
/ 30 апреля 2018

Я не лучший в регулярных выражениях, но вот рабочее решение для вашего примера:

String s = "Level I (10/20)";

Pattern pattern = Pattern.compile("\\(\\d+/(\\d+)\\)");
Matcher matcher = pattern.matcher(s);

if (matcher.find()) {
    System.out.println(matcher.group(1));
}

Выход:

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