簡體   English   中英

從字符串中提取空格分隔的數字

[英]Extract space separated numbers from string

所以我想從python中的字符串中提取總費率的數量。 假設我有這樣的字符串:

str = "National Museum 4.6(1 686), Museum, Green Street 24/26, Some description, Closing: md.. 20:00"

我想提取 4.6 的費率和 1686 的總費率。我設法通過以下命令提取了 4.6:

rate = re.findall("\d{1}[.]\d{1,2}", str)
print(rate)
Out: ['4.6']

但是我對總費率有問題,因為有時該值可能是三位數,例如 386 沒有任何空格,有時可能是 12 893,我們必須考慮它們之間的空格。

首先,請注意str是 Python 中的內置函數,您應該避免使用內置名稱命名變量。

您可以使用括號中的特定格式提取數字

re.findall(r"\((\d{1,3}(?:\s\d{3})*)\)", text)

或者,使用re.search獲取第一個匹配項:

m = re.search(r"\((\d{1,3}(?:\s\d{3})*)\)", text)
if m:
    print(m.group(1))

請參閱正則表達式演示 詳情

  • \\( - a (字符
  • (\\d{1,3}(?:\\s\\d{3})*) - 第 1 組:
    • \\d{1,3} - 一位、兩位或三位數字
    • (?:\\s\\d{3})* - 空格和三位數字出現零次或多次
  • \\) - a )字符。

暫無
暫無

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

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