如何從字串中提取浮點數
從字串中提取浮點數是資料中的常見任務處理和分析。為此,我們可以使用正規表示式或替代方法。
使用正規表示式
正規表示式提供了一種強大的方法來匹配字串中的複雜模式。如果浮點數總是以十進位表示法表示,我們可以使用以下正規表示式:
import re re.findall("\d+\.\d+", "Current Level: 13.4db.")
此表達式匹配一位或多位數字,後面跟著一個句點和一位或多位數字。但是,如果浮點數可能包含更廣泛的格式,則可以使用更強大的正則表達式:
re.findall(r"[-+]?(?:\d*\.*\d+)", "Current Level: -13.2db or 14.2 or 3")
此正則表達式與帶有可選符號的任何數字相匹配,後跟零個或多個數字,可選句點和一個或多個數字。
替代方法
如果使用正規表示式不適合,我們也可以使用float() 函數逐步遍歷字串並檢查有效的浮點數:
user_input = "Current Level: 1e100 db" for token in user_input.split(): try: print(float(token), "is a float") except ValueError: print(token, "is something else")
此方法對於驗證使用者輸入並尋找第一個浮點很有用字串中的數字。在將 token 轉換為浮點數時,處理潛在的異常非常重要。
透過遵循這些方法,我們可以有效地從字串中提取浮點數,方便資料處理和分析任務。
以上是如何從字串中提取浮點數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!