ホームページ >バックエンド開発 >Python チュートリアル >正規表現か `isdigital()` ですか? Python で文字列から数値を抽出するにはどれが最適ですか?

正規表現か `isdigital()` ですか? Python で文字列から数値を抽出するにはどれが最適ですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-20 04:00:10299ブラウズ

Regex or `isdigit()`? Which is Best for Extracting Numbers from Strings in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。