过滤字符串中更改数字的最简单方法是什么?

时间:2018-04-30 01:55:42

标签: java regex

有人可以告诉我在以下子字符串中提取数字'20'的最简单方法。

一级(10/20)

注意:括号中的数字和“Level”后面的数字正在变化,并且可以包含比此示例中更多的字符

如果有一种方法可以使用正则表达式并从中提取特定部分,那将是非常棒的。

2 个答案:

答案 0 :(得分:1)

我不是最好的正则表达式,但这是一个有效的解决方案:

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

答案 1 :(得分:1)

这个怎么样,也适用于多行输入:

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

Test here