python如何提取字符串中的所有数字

python如何提取字符串中的所有数字

作者:Rhett Bai发布时间:2026-01-14阅读时长:0 分钟阅读次数:4

用户关注问题

Q
如何用Python从字符串中找到所有数字?

我有一个包含字母和数字的字符串,想提取出其中的所有数字应该怎么做?

A

使用正则表达式提取数字

可以使用Python的re模块中的findall函数,通过正则表达式'\d+'匹配字符串中的所有数字。例如,import re; numbers = re.findall('\d+', your_string)即可获得字符串中所有数字组成的列表。

Q
有没有不使用正则表达式的方法来提取数字?

我不熟悉正则表达式,想用其他方法提取字符串中的数字,有什么简便的办法吗?

A

利用字符串方法筛选数字字符

可以遍历字符串中的每个字符,使用str.isdigit()方法判断是否为数字,最后将所有数字字符合并成字符串或列表。举例:numbers = ''.join([ch for ch in your_string if ch.isdigit()]),这样获得的结果是所有数字的连续字符串。

Q
提取的数字如何处理才能转换成整数列表?

使用正则表达式提取出数字字符串后,如何将它们变成一个整型数字的列表?

A

将字符串数字转换为整数列表

通过列表推导式,将提取到的数字字符串逐个转换为int类型。例如,numbers_str_list = re.findall('\d+', your_string)后,整数列表可写成numbers_int_list = [int(x) for x in numbers_str_list]。这样方便进行数字计算和操作。