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());
}
这个代码将会输出 123
和 456
,因为这两个是字符串 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/
评论已关闭