如何从 java 中的字符串中仅提取数字?

How to extract only number from a string in java?

假设我有一个包含以下内容的字符串:hello 14:12.

现在我只想提取数字并在两个变量中有两个单独的值,如下所示:first_num 值应该是 int,即 first_num = 14,第二个变量应该在之后存储数字冒号 (:) 即 second_num = 12.

ReplaceAll 是最好的解决方案

String str = "hello 14:12";
str = str.replaceAll("[^0-9]+", " ");
System.out.println(Arrays.asList(str.trim().split(" ")));

这样就可以只获取数组中的数字了。

您可以使用正则表达式来解决问题

public static List<Integer> extractNumbers(String s){       
        List<Integer> numbers = new ArrayList<Integer>();

        Pattern p = Pattern.compile("\d+");
        Matcher m = p.matcher(s);

        while(m.find()){
            numbers.add(Integer.parseInt(m.group()));
        }       
        return numbers;     
    }