Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python –文字列からすべての数字を抽出する方法


数字で文字列を抽出する必要がある場合は、リスト内包表記と「isdigit」メソッドが使用されます。

以下は同じのデモンストレーションです-

my_string = "python is 12 fun 2 learn"

print("The string is : ")
print(my_string)

my_result = [int(i) for i in my_string.split() if i.isdigit()]

print("The numbers list is :")
print(my_result)

出力

The string is :
python is 12 fun 2 learn
The numbers list is :
[12, 2]

説明

  • 文字列が定義され、コンソールに表示されます。

  • リスト内包表記は文字列を反復処理するために使用され、すべての要素が「isdigit」関数を使用して数字であるかどうかがチェックされ、整数に変換されます。

  • これらはリストに保存され、変数に割り当てられます。

  • これは、コンソールに表示される出力です。


  1. Pythonで文字列から数字を抽出する方法は?

    正の整数のみが必要な場合は、次のように分割して数値を検索できます。 >>> str = "h3110 23 cat 444.4 rabbit 11 2 dog" >>> [int(s) for s in str.split() if s.isdigit()] [23, 11, 2] 他のすべての場合、正規表現を使用するのが最良の選択です。また、値を抽出するときは、文字列からintに変換するのが最適です。例: >>> import re >>> [float(s) for s in re.findall

  2. Python文字列に数字のみが含まれているかどうかを確認するにはどうすればよいですか?

    Stringクラスにはisdigit()というメソッドがあり、文字列内のすべての文字が数字で、少なくとも1文字ある場合はtrueを返し、それ以外の場合はfalseを返します。次のように呼ぶことができます- 例 print("12345".isdigit()) print("12345a".isdigit()) 出力 True False 同じ結果に正規表現を使用することもできます。数字のみを照合する場合は、正規表現 ^ [0-9] + $を使用してre.match(regex、string)を呼び出すことができます。 例 import re print