我想通過一條線來解析,並用python從中獲取一組特定的數字。從字符串中獲取數字
字符串看起來是這樣的: 「可用72732672個字節(使用56004608個字節)」 數字可以是任何數值,這讓我無法預先確定這一點。 具體目標是在這種情況下是「72732672」。
你們有沒有解決方案?
我想通過一條線來解析,並用python從中獲取一組特定的數字。從字符串中獲取數字
字符串看起來是這樣的: 「可用72732672個字節(使用56004608個字節)」 數字可以是任何數值,這讓我無法預先確定這一點。 具體目標是在這種情況下是「72732672」。
你們有沒有解決方案?
所以你想從字符串中的整數?一種方法是使用regular expressions。但是這可以不使用正則表達式來完成。
>>> line = "72732672 bytes available (56004608 bytes used)"
>>> [int(word) for word in line.split() if word.isdigit()]
[72732672]
,如果你想使用正則表達式 -
>>> import re
>>>
>>> re.findall(r'\d+', line)
['72732672', '56004608']
謝謝。這個幫了我。 – Arash
使用re
模塊:
>>> digits = re.compile(r'[0-9]+')
>>> digits.findall("72732672 bytes available (56004608 bytes used)")
['72732672', '56004608']
可以轉換爲實際數字與詮釋:
>>> l = digits.findall("72732672 bytes available (56004608 bytes used)")
>>> l = [int(x) for x in l]
>>> l
[72732672, 56004608]
>>> import re
>>> text = "72732672 bytes available (56004608 bytes used)"
>>> re.findall(r'\d+', text)
['72732672', '56004608']
這沒有多大意義。你只需要檢查目標是否在字符串中? – jamylak