python字符如何提取纯数字

python字符如何提取纯数字

作者:Joshua Lee发布时间:2026-01-13阅读时长:0 分钟阅读次数:19

用户关注问题

Q
如何使用Python从字符串中提取数字?

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

A

利用正则表达式提取数字

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

import re
text = 'abc123def456'
numbers = re.findall(r'\d+', text)
print(numbers)  # 输出 ['123', '456']
Q
如何将字符串中的数字提取出来并转换为整数列表?

提取字符串中的数字后,我想得到一个整数列表,有什么简便的做法?

A

将提取的数字字符串转换成整数列表

先用正则表达式提取数字字符串,再使用列表推导式将它们转换成整数。例如:

import re
text = 'item12price345count78'
str_numbers = re.findall(r'\d+', text)
int_numbers = [int(num) for num in str_numbers]
print(int_numbers)  # 输出 [12, 345, 78]
Q
提取纯数字时,如何处理包含小数点的数字?

如果字符串中包含小数点,怎么调整代码提取所有数字及小数点组成的数字?

A

使用适当的正则表达式匹配小数形式数字

可以用正则表达式匹配整数和小数形式,比如使用\d+.?\d*来匹配数字和小数点。示例代码:

import re
text = '温度是23.5度,湿度是45.2%'
numbers = re.findall(r'\d+\.?\d*', text)
print(numbers)  # 输出 ['23.5', '45.2']