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
答案 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()
返回匹配的子字符串。