所以我有字符串 22test12344DC 和 1name23234343dc
我想要从String中提取第一个找到的完整int的最佳方法。
所以这将从上面的例子中返回22和1。找到第一个完整的int
我试过这种方式,但是在第一个字符后我不想要任何值。
mystr.split("[a-z]")[0]
答案 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;
}