Python从字母数字字符串中提取数字

时间:2017-09-25 01:42:00

标签: python regex string

如何在Python中打印字符串中的数字?在下面的示例中,我可以打印6.如何将6和5一起打印?给我65。

man = 'The man is 65 or older'
print(man[11])

2 个答案:

答案 0 :(得分:5)

我可以想到涉及对索引进行硬编码的两种方式。

带有str.split

str.isdigit
numbers = [x for x in string.split() if x.isdigit()]
print(numbers)
['65']

re.findall

import re

numbers = re.findall(r'\b\d+\b', string)
print(numbers)
['65']

正则表达式详细信息

\b      # word boundary
\d+     # match 1 or more digits
\b      # word boundary

请注意,如果您只想返回那些不属于较大单词的数字,则应使用\b字边界(例如,此处不会计算3D)。

答案 1 :(得分:2)

这个简短的代码怎么样?

man = 'The man is 65 or older'
numbers = list(filter(str.isdigit, man.split(' ')))
print(numbers[0])