如何从Java中的输入字符串中提取数值


问题内容

如何仅从输入字符串中提取数字值?

例如,输入字符串可能像这样:

String str="abc d 1234567890pqr 54897";

我只想要数字值,即"1234567890""54897"。所有字母和特殊字符将被丢弃。


问题答案:
String str=" abc d 1234567890pqr 54897";
Pattern pattern = Pattern.compile("\\w+([0-9]+)\\w+([0-9]+)");
Matcher matcher = pattern.matcher(str);
for(int i = 0 ; i < matcher.groupCount(); i++) {
  matcher.find();
  System.out.println(matcher.group());
}