python字符串如何提取数字

python字符串如何提取数字

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

用户关注问题

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

我有一个包含字母和数字的字符串,想要提取出其中的所有数字,应该使用什么方法?

A

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

可以使用Python的re模块,通过正则表达式\d+匹配字符串中的数字。示例代码:

import re
s = 'abc123def456'
numbers = re.findall(r'\d+', s)
print(numbers)  # 输出 ['123', '456']
```这样就能提取出字符串中所有连续的数字。
Q
如何将字符串中的数字提取出来并转换成整数列表?

我需要提取字符串里的数字,并将它们转换成整数,方便后续计算该如何操作?

A

提取数字并转换为整数列表的方法

先通过正则表达式找到字符串中的数字,然后使用列表推导式将结果转换为整数。示例:

import re
s = 'item12price30count5'
numbers = [int(num) for num in re.findall(r'\d+', s)]
print(numbers)  # 输出 [12, 30, 5]
```这样就得到数字的整数列表。
Q
提取字符串中的数字时如何处理浮点数?

字符串中有带小数点的数字,如何用Python提取并正确识别为浮点数?

A

使用正则表达式支持浮点数的提取方式

正则表达式可以写成匹配整数和小数的形式,比如\d+\.\d+|\d+。代码示例:

import re
s = 'weight=12.5kg,height=20.0cm'
floats = [float(num) for num in re.findall(r'\d+\.\d+|\d+', s)]
print(floats)  # 输出 [12.5, 20.0]
```这样可正确提取并转换浮点数。