在Python中提取文本中的数字内容,主要采用以下方法:
一、常用方法总结
-
字符串方法
-
isnumeric()
:判断字符串是否仅包含数字字符,适用于纯数字筛选。 -
isdigit()
:判断字符串是否全为数字,可转换为整数类型。
-
-
正则表达式(re模块)
- 通过模式匹配提取数字,支持整数、小数、负数及科学计数法。例如:
import re text = "The price is $23.50" pattern = r'\d+\.?\d*' # 匹配整数或小数 result = re.findall(pattern, text) # 返回 ['23.50']
- 通过模式匹配提取数字,支持整数、小数、负数及科学计数法。例如:
-
列表解析与filter()函数
- 结合
filter()
和str.isdigit()
过滤非数字字符,再拼接成字符串。
- 结合
二、扩展应用场景
-
混合数据提取 :当文本包含标签、文本与数字混合时,正则表达式更高效。
-
文件处理 :读取文本文件后,使用上述方法批量提取数字并统计(如求和)。
三、注意事项
-
正则表达式需根据数据格式调整模式,例如科学计数法需添加
[eE]
支持。 -
处理混合文本时,建议优先使用正则表达式避免误判非数字字符。