使用正規表示式從字串中提取浮點數
在程式設計中,經常需要從文字字串中提取資料。在本例中,您正在尋求從「目前層級:13.4 db」等字串中提取浮點數。
正規表示式解
使用正規表示式,您可以定義捕捉浮點數的模式。考慮以下Python 程式碼:
import re string = "Current Level: 13.4db." result = re.findall(r"\d+\.\d+", string) print(result)
此程式碼使用正規表示式模式d .d :
結果列表將包含提取的浮點數:['13.4'].
帶驗證的魯棒解決方案
要要獲得更穩健的方法,請使用模式r"[- ]?(?:d*.*d )"。此模式處理正號和負號,以及小數點前的可選數字。
result = re.findall(r"[-+]?(?:\d*\.*\d+)", string) print(result)
除了提取之外,您還可以透過嘗試直接將使用者輸入轉換為浮點數來驗證使用者輸入:
user_input = "Current Level: 1e100 db" for token in user_input.split(): try: float_value = float(token) print(f"{float_value} is a float") except ValueError: print(f"{token} is something else")
此程式碼迭代輸入字串中的標記並嘗試將它們轉換為浮點數。如果轉換成功,則令牌是浮點數。否則就被認為是別的東西。
以上是如何在 Python 中使用正規表示式從字串中提取浮點數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!