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

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

Mary-Kate Olsen
リリース: 2024-12-21 22:50:11
オリジナル
229 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート