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

时间:2015-03-14 19:08:44

标签: java extract

据说我有一个字符串,其中包含:hello 14:12

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

2 个答案:

答案 0 :(得分:2)

您可以使用Regex解决问题

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;     
    }

答案 1 :(得分:1)

ReplaceAll是最佳解决方案

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

通过这种方式,您只能获得数组中的数字。