我是 python 的新蜜蜂。所以我只想從字符串中獲取所有 10 位數字和 9 位數字。我有一個像這樣的字符串Re: ehi - ECQ TANGAL INIP NA!!!! 67778877 NO LOAD 34567890123!!!! 5678901234 123456789應該只返回 9 和 10 位數字。數字可以出現在字符串中的任何位置。在上面的字符串中,它應該返回這些數字5678901234 123456789但不是67778877 as it is 8 digit number 34567890123 as it is 11 digit number
1 回答

慕運維8079593
TA貢獻1876條經驗 獲得超5個贊
您可以使用正則表達式來查找所有必需的匹配項:
import re
data = 'Re: ehi - ECQ TANGAL INIP NA!!!! 67778877 NO LOAD 34567890123!!!! 5678901234 123456789'
values = re.findall(r'\b\d{9,10}\b', data)
print( values ) # ['5678901234', '123456789']
這里\b說明了數字組的邊界\d(與 相同[0-9])。{9,10}是 的重復次數\d。
文檔: https ://docs.python.org/3/library/re.html
添加回答
舉報
0/150
提交
取消