ホームページ >バックエンド開発 >Python チュートリアル >正規表現か `isdigital()` ですか? Python で文字列から数値を抽出するにはどれが最適ですか?
Python での文字列からの数値の抽出
文字列からの数値の抽出は、正規表現または isdigital() メソッドを使用して実行できます。どちらのアプローチが目的に適しているかを判断してみましょう。
正規表現
正規表現は、文字列内のパターンを照合するための強力なツールを提供します。数値を抽出するには、次の正規表現を使用できます。
r'\d+'
この式は、1 つ以上の 10 進数を含む文字列と一致します。たとえば、文字列「hello 23 hi 33」について考えてみましょう。次のコードは、正規表現を使用して数値を抽出します。
import re line = "hello 23 hi 33" result = re.findall(r'\d+', line) print(result) # [23, 33]
isdigital() メソッド
isdigital() メソッドは、次のことをテストする簡単な方法です。文字は 10 進数です。ただし、数値を全体として抽出する機能はありません。 isdigital() を使用するには、文字列を 1 文字ずつ繰り返す必要があります。
line = "hello 23 hi 33" result = [] for char in line: if char.isdigit(): result.append(int(char)) print(result) # [2, 3, 3]
比較
最終的には、正規表現と isdigital のどちらを選択するかになります。 () メソッドは特定の使用例によって異なります。正規表現を使用すると、複雑なパターンのマッチングと抽出をより柔軟に行うことができます。また、空白で囲まれた数値を照合するための単語境界 (b) などの機能もサポートしています。
文字列から数値を単純に抽出する場合は、isdigital() メソッドで十分な場合があります。ただし、より複雑な場合や、数値全体を抽出する必要がある場合は、正規表現を使用すると、より包括的なソリューションが提供されます。
以上が正規表現か `isdigital()` ですか? Python で文字列から数値を抽出するにはどれが最適ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。