从String中提取第一个找到的int

时间:2017-07-28 09:41:15

标签: java regex int

所以我有字符串 22test12344DC 1name23234343dc

我想要从String中提取第一个找到的完整int的最佳方法。

所以这将从上面的例子中返回22和1。找到第一个完整的int

我试过这种方式,但是在第一个字符后我不想要任何值。

mystr.split("[a-z]")[0]

2 个答案:

答案 0 :(得分:2)

试试这个。

String s = "22test12344DC";
String firstInt = s.replaceFirst(".*?(\\d+).*", "$1");
System.out.println(firstInt);

结果:

22

答案 1 :(得分:1)

使用正则表达式和正确的模式可以解决问题: here is one example

Pattern.compile("\\d+|\\D+")

然后打破while循环,因为你只需要第一场比赛

String myCodeString = "22test12344DC";
myCodeString = "1name23234343dc";
Matcher matcher = Pattern.compile("\\d+|\\D+").matcher(myCodeString);

while (matcher.find()) {
    System.out.println(matcher.group());
    break;
}