You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python从字符串各片段中提取所有整数?

Python字符串提取数字实现方案

正确实现代码

import re

data = 'hs122 125 &55,58, 25'
# 匹配所有连续数字序列后转为整数
res = [int(num) for num in re.findall(r'\d+', data)]
print(res)

运行输出:[122, 125, 55, 58, 25],完全符合预期。

之前方案的问题说明

  • 尝试1使用re.search():该方法仅会返回第一个匹配到的结果,无法拿到所有数字
  • 尝试2按空格拆分后用isdigit()判断:夹杂非数字字符的拆分片段(如hs122、&55,58,)会被直接过滤,导致漏匹配
  • 尝试3正则规则设计错误:规则将逗号纳入合法匹配范围,导致多个逗号分隔的数字被识别为同一个匹配结果

扩展说明

如果需要同时提取带小数点的浮点数,可将正则修改为r'\d+\.?\d*',转换时根据是否包含小数点判断转为int还是float即可。

内容的提问来源于stack exchange,提问作者Md Moksedul Alam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 05:27:00