有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

从字符串StringUtils Java中提取数字

我有一个字符串,我想提取字符串中的(唯一)数字序列

例如: Hellothissa1234样本。 我要1234

已知数字序列在字符串中只出现一次,但不在同一位置

(对于那些想问的人,我有一个服务器名,需要在其中提取一个特定的数字)

我想使用Apache commomns中的StringUtils类

谢谢


共 (5) 个答案

  1. # 1 楼答案

    试试这个:

    String s = "helloThisIsA1234Sample";
    s = s.replaceAll("\\D+","");
    

    这意味着:将所有出现的数字字符(0-9)替换为空字符串

  2. # 2 楼答案

    你也可以使用java.util.Scanner

    new Scanner(str).useDelimiter("[^\\d]+").nextInt()

    您可以使用next()而不是nextInt()来获取作为String的数字。请注意,对结果调用Integer.parseInt可能比调用nextInt()many times faster

    您可以使用Scanner上的hasNextInt()检查数字的存在

  3. # 3 楼答案

    只有一句话:

    int value = Integer.parseInt(string.replaceAll("[^0-9]", ""));
    
  4. # 4 楼答案

    使用此代码将包含所需的输出

       String str="sdfvsdf68fsdfsf8999fsdf09";
       String numberOnly= str.replaceAll("[^0-9]", "");
    
  5. # 5 楼答案

    我总是喜欢用Guava String utils或类似的方法来解决这类问题:

    String theDigits = CharMatcher.inRange('0', '9').retainFrom("abc12 3def"); // 123