文字列から浮動小数点数を正確に抽出する方法
特定のシナリオでは、文字列から浮動小数点数を抽出する必要があります。たとえば、「現在のレベル: 13.4 db」のような文字列が表示される場合があります。ここで重要なのは数値のみです。正規表現 (RegEx) は、このタスクに対する簡単な解決策を提供します。
正規表現によるアプローチ
浮動小数点数が常に "a.b" の形式で表示される場合は、次のようにすることができます。次の RegEx パターンを利用します:
re.findall("\d+\.\d+", "Current Level: 13.4db.")
このパターンは、1 つ以上の数字とその後に続く任意の数値シーケンスをキャプチャします。小数点、次に 1 つ以上の数字。この例では、文字列 '13.4' が返されます。
堅牢な抽出のための高度な正規表現
柔軟性を高めるために、次のパターンを検討してください:
re.findall(r"[-+]?(?:\d*\.*\d+)", "Current Level: -13.2db or 14.2 or 3")
このパターンは、より広範囲の浮動小数点表現を処理します。以下を含む:
一致したすべての数値のリストが返されます。 ['-13.2', '14.2', '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")
このコードは、入力文字列内の各トークンを次のように変換しようとします。
特定の要件に適した方法を活用することで、必要な精度と柔軟性で文字列から浮動小数点数を効果的に抽出できます。
以上がPython で文字列から浮動小数点数を効率的に抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。