如何在Python中打印字符串中的數字?在下面的例子中,我可以打印6.如何將6和5打印在一起?給我65用字母數字字符串打印Python數字
man = 'The man is 65 or older'
print(man[11])
如何在Python中打印字符串中的數字?在下面的例子中,我可以打印6.如何將6和5打印在一起?給我65用字母數字字符串打印Python數字
man = 'The man is 65 or older'
print(man[11])
我能想到的兩種方法不涉及硬編碼索引。
選項1
str.split
numbers = [x for x in string.split() if x.isdigit()]
print(numbers)
['65']
選項2
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
將不被計算這裏)。
這段短代碼如何?
man = 'The man is 65 or older'
numbers = list(filter(str.isdigit, man.split(' ')))
print(numbers[0])
這個問題有其他約束,所以我這個答案並不是錯的。他/她問*給我65 *。 – Ho0ony
@ Ho0ony按照你的邏輯,「男人[11:13]」應該是你的滿意答案:) –
這些工作很好,但我需要在同一行的數字。 – MarcusBrodie