java - 从Java中的字符串中提取数字

标签 java regex string numbers

我有一个包含数字的字符串,我想检索该数字。 例如,如果我有一个字符串“bla bla 45 bla bla”,我想得到数字 45。 我搜索了一下,发现这段代码应该可以工作

Matcher matcher = Pattern.compile("\\d+").matcher("bla bla 45 bla bla");
if(matcher.matches())
    String result = matcher.group();

但它没有:(
可能问题在于“\d+”正则表达式被转换为“^\d+$”,因此匹配器与文本中的数字不匹配。
任何想法。

最佳答案

这是一个关于如何使用 ma​​tcher.find()

的例子
    Matcher matcher = Pattern.compile("\\d+").matcher("bla bla 45 bla 22 bla");
    while(matcher.find()) {
        System.out.println(matcher.group());
    }

这将输出

45
22

关于java - 从Java中的字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1558432/

相关文章:

javascript - JavaScript 中字符串的原型(prototype)属性在哪里?

c++ - C++中字符串的加法和乘法

c - 分割一个字符串并存储在数组的数组中

java - 更新数据库列后检索它的值

java - Oracle ADF : DCA-29000: Unexpected exception caught: java. lang.InstantiationException

java - token “Invalid Character” 出现语法错误,删除此 token

java - 根据条件链接可完成的 future

mysql 负向查找一组字母

javascript - 如何选择两个特定字符之间的字符串?

java - 在 a\x 十六进制正则表达式模式中使用变量