字符串中的数字

时间:2014-01-26 02:54:31

标签: java string for-loop

public void check(String str){
    for(int i =0; i<str.length(); i++){
    //Print only the numbers    
    }
}

在for循环中,我希望能够查看字符串并找到前两个数字。我该怎么做?

示例:

str= 1 b 3 s 4

打印:     1 3

1 个答案:

答案 0 :(得分:1)

这适用于超过一位数的数字。

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public void check(String str) {
    Matcher m = Pattern.compile("\\d+").matcher(str);
    for(int n = 0; n < 2 && m.find(); n++)  {
        System.out.println(m.group());
    }
}

<强>解释

\d+(用String字面值"\\d+"编写)是一个匹配一个或多个数字的正则表达式。

m.find()找到下一场比赛,返回是否找到了匹配。

m.group()返回匹配的子字符串。