簡體   English   中英

從字符串中獲取數字

[英]Get digits from string

我想解析一條線,並使用python從中獲取一組特定的數字。

該字符串如下所示:“可用72732672字節(已使用56004608字節)”這些數字可以是任何數字值,這使我無法預先定義此值。 在這種情況下,特定目標是“ 72732672”。

你們有什么解決辦法嗎?

因此,您需要字符串中的整數嗎? 一種方法是使用正則表達式 但這無需使用正則表達式即可完成。

>>> 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']

使用re模塊:

>>> digits = re.compile(r'[0-9]+')
>>> digits.findall("72732672 bytes available (56004608 bytes used)")
['72732672', '56004608']

您可以使用int轉換為實際數字:

>>> 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']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM