java如何筛选字符中的数字

java如何筛选字符中的数字

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

用户关注问题

Q
如何在Java中提取字符串中的数字部分?

我有一个包含数字和字母的字符串,想要只取出里面的数字,该怎么做?

A

使用正则表达式提取数字

可以使用Java中的正则表达式来筛选字符串中的数字。比如使用字符串的replaceAll方法,将非数字字符替换为空字符:

String digits = inputString.replaceAll("\D", "");

这里"\D"表示匹配所有非数字字符,从而只保留数字部分。

Q
怎样判断字符串中是否包含数字?

我想知道字符串中有没有包含数字,可以用什么方法快速判断?

A

使用正则表达式进行匹配判断

可以用String类的matches方法或Pattern类来判断字符串是否包含数字。例如:

boolean hasDigit = inputString.matches(".\d.");

这里"\d"表示数字字符,".*"表示任意字符,匹配整个字符串中是否有数字存在。

Q
Java里如何将字符串中的数字单独分离出来放入集合?

我想把字符串里的所有单个数字提取出来,放入一个List集合中,应该怎么写?

A

使用正则表达式配合循环提取数字

可以用Pattern和Matcher类,利用正则表达式"\d"匹配单个数字,然后将匹配到的字符转换成字符串加入List。例如:

List digitsList = new ArrayList<>();
Pattern p = Pattern.compile("\d");
Matcher m = p.matcher(inputString);
while (m.find()) {
digitsList.add(m.group());
}

这样digitsList就包含字符串中的所有数字字符了。