ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列から効率的に数値を抽出するにはどうすればよいですか?

Python で文字列から効率的に数値を抽出するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-21 22:50:11232ブラウズ

How Can I Efficiently Extract Numbers from Strings in Python?

Python で文字列から数値を抽出する

Python で文字列から数値を抽出する場合、正規表現と isdigital という 2 つの主なアプローチを使用できます。 () 方法。選択は、タスクの特定の要件によって異なります。

正規表現

正規表現は、数値を抽出するための多用途かつ強力なソリューションを提供します。 re.findall() 関数を使用すると、パターンを指定することで文字列内の数値を識別できます。たとえば、 r'd ' は 1 つ以上の数字のシーケンスに一致します。

import re

line = "hello 12 hi 89"
numbers = re.findall(r'\d+', line)
print(numbers)  # [12, 89]

スペースや句読点などの単語の境界で区切られた数字に一致するには、b:

numbers_delim = re.findall(r'\b\d+\b', line)
print(numbers_delim)  # [12, 89]

を使用します。 >isdigital() メソッド

isdigital() メソッドは、文字列内のすべての文字の場合に True を返しますは数字です。文字列のスライスおよび内包表記と組み合わせて使用​​して、文字列から数値を抽出できます。

line = "hello 12 hi 89"

numbers = []
for chr in line:
    if chr.isdigit():
        numbers.append(chr)

print(numbers)  # ['1', '2', '8', '9']

抽出された数字を整数に変換するには:

numbers = [int(chr) for chr in numbers]
print(numbers)  # [1, 2, 8, 9]

結論

正規表現と isdigital() メソッドの両方を使用して数値を抽出できます。文字列、正規表現を使用すると、照合プロセスの柔軟性と制御が向上します。ただし、単純な抽出タスクの場合は、 isdigital() メソッドの方が簡単です。

以上がPython で文字列から効率的に数値を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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