如何在Python中从字符串中提取数字?
如果您只想要正整数,可以按以下方式拆分并搜索数字:
>>> str = "h3110 23 cat 444.4 rabbit 11 2 dog"
>>> [int(s) for s in str.split() if s.isdigit()]
[23, 11, 2]
对于其他所有情况,使用正则表达式将是最佳选择。另外,在提取值时,最好将它们从字符串转换为整数。例如:
>>> import re
>>> [float(s) for s in re.findall(r'-?\d+\.?\d*', 'he33.45llo -42 I\'m a 32 string 30')]
[33.45, -42.0, 32.0, 30.0]
阅读更多:Python 教程