如何从String中过滤/提取数据?

时间:2016-03-04 10:14:23

标签: java

如何在此处应用过滤器

 String x=Showing 138 of 138 String(s)

我想只获得138,结束价值如何获得?

2 个答案:

答案 0 :(得分:1)

您可以尝试:

public static void main(String[] args) throws IOException {
    String x="Showing 158 of 138 String(s)";
    System.out.println(x.replaceAll(".*\\s(\\d+).*", "$1"));
}

O / P:138

答案 1 :(得分:0)

我不会使用正则表达式,因为它不是灵活的解决方案。尝试将字符串削减以获得有效值:

String s =" String x=Showing 138 of 138 String(s)";
String[] words = s.split(" ");
BigDecimal value = null;
for(String word : words) {
    try {
        value = BigDecimal.valueOf(word);
        } catch(NumberFormatException e) {}
    }
System.out.println(value);