所以我想從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,我們必須考慮它們之間的空格。
uj5u.com熱心網友回復:
首先,請注意,它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))
請參閱正則運算式演示。詳情:
\(- 一個(字符(\d{1,3}(?:\s\d{3})*)- 第 1 組:\d{1,3}- 一位、兩位或三位數字(?:\s\d{3})*- 零次或多次出現空格和三位數字
\)- 一個)字符。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/336634.html
上一篇:RegEx:如何將具有固定長度區域的整個字串與隨后被覆寫的負前瞻條件匹配?
下一篇:從字串中提取字母(和特定數字)
