java中如何截取字符串中的数字

java中如何截取字符串中的数字

作者:Rhett Bai发布时间:2026-02-04阅读时长:0 分钟阅读次数:2

用户关注问题

Q
如何从字符串中提取所有数字?

我有一个包含字母和数字的字符串,想要获取其中所有的数字部分,该怎么办?

A

使用正则表达式提取字符串中的数字

可以通过 Java 的正则表达式来实现,从字符串中提取所有数字。例如,使用 Pattern 和 Matcher 类匹配数字字符,或者使用 String 类的 replaceAll 方法,只保留数字字符。示例代码:

String str = "abc123def456";
String numbers = str.replaceAll("\D", ""); // 输出:123456

Q
如何截取字符串中连续的数字片段?

字符串中可能包含多个数字序列,我想单独获取这些连续的数字片段,有什么方法?

A

利用正则表达式的分组匹配连续数字

通过在 Java 中使用 Pattern.compile("\d+") 可以匹配字符串中所有连续的数字序列。使用 Matcher 对象查找每个匹配项,然后将找到的数字字符串保存到列表或数组中。这样可以分割出字符串中的多个数字段。

Q
截取字符串数字后如何转换成整数?

从字符串中获取到数字字符串后,如何把他们转换为 int 或者其他数字类型用于计算?

A

使用 Integer.parseInt 或 Long.parseLong 进行转换

Java 提供了 Integer.parseInt() 方法将数字字符串转换为 int 类型。如果数字较大,可以使用 Long.parseLong()。注意如果数字字符串格式不正确,会抛出 NumberFormatException,需要做好异常处理。示例:

String numStr = "1234";
int num = Integer.parseInt(numStr);