如何在Python中打印字符串中的数字?在下面的示例中,我可以打印6.如何将6和5一起打印?给我65。
man = 'The man is 65 or older'
print(man[11])
答案 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])