[英]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.