Java从字符串中提取数字-正则表达式

在 Java 中提取字符串中的数字可以使用正则表达式。以下是一个示例代码,可以从一个字符串中提取出所有数字:

String str = "abc123def456";
String pattern = "\\d+";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(str);
while (m.find()) {
    System.out.println(m.group());
}

这个代码将会输出 123456,因为这两个是字符串 str 中的数字。

解释一下上述代码的过程:

首先,我们定义了一个包含数字的字符串 str,以及一个用来匹配数字的正则表达式模式 \\d+。其中,\\d 匹配任意一个数字字符,+ 表示前面的匹配项可以出现一次或多次。

然后,我们使用 Pattern.compile 方法来创建一个正则表达式的模式对象 r,并将正则表达式 pattern 作为参数传入。

接下来,我们使用 Matcher 对象 m 来执行字符串匹配。调用 m.find() 方法可以从字符串 str 中找到第一个匹配的数字,如果找到了就执行 while 循环中的代码。

在循环中,我们可以使用 m.group() 方法来获取当前匹配的数字字符串。这个方法将会返回一个 String 类型的结果,包含了当前匹配的数字。我们可以将这个数字字符串存储到一个数组或者集合中,以便后续使用。

最后,如果还有其它的数字可以匹配,那么 m.find() 方法将会继续执行并返回 true,否则将会返回 false,循环结束。

参考:https://juejin.cn/s/java%E4%BB%8E%E5%AD%97%E7%AC%A6%E4%B8%B2%E4%B8%AD%E6%8F%90%E5%8F%96%E6%95%B0%E5%AD%97


» 本文链接:https://blog.apires.cn/archives/2222.html
» 转载请注明来源:Java地带  » 《Java从字符串中提取数字-正则表达式》

» 本文章为Java地带整理创作,欢迎转载!转载请注明本文地址,谢谢!
» 部分内容收集整理自网络,如有侵权请联系我删除!

» 订阅本站:https://blog.apires.cn/feed/

标签: 正则表达式

评论已关闭