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

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


Stringクラスにはisdigit()というメソッドがあり、文字列内のすべての文字が数字で、少なくとも1文字ある場合はtrueを返し、それ以外の場合はfalseを返します。次のように呼ぶことができます-

print("12345".isdigit())
print("12345a".isdigit())
出力
True
False
同じ結果に正規表現を使用することもできます。数字のみを照合する場合は、正規表現 "^ [0-9] + $"を使用してre.match(regex、string)を呼び出すことができます。

import re
print(bool(re.match('^[0-9]+$', '123abc')))
print (bool(re.match('^[0-9]+$', '123')))
出力
False
True

re.matchはオブジェクトを返します。オブジェクトが存在するかどうかを確認するには、bool()を使用してオブジェクトをブール値に変換する必要があります。


  1. Pythonで文字列に文字、数字、アンダースコア、ダッシュのみが含まれていることを確認するにはどうすればよいですか?

    正規表現を使用して、このタスクを実行できます。文字列に文字、数字、アンダースコア、ダッシュのみが含まれていることを確認するために、次の正規表現を使用できます: ^ [A-Za-z0-9 _-]*$。 例 import re print(bool(re.match("^[A-Za-z0-9_-]*$", 'aValidString123--__'))) print(bool(re.match("^[A-Za-z0-9_-]*$", 'inv@lid'))) 出力 True False セットを使用してこの結果を取得すること

  2. Python変数が存在するかどうかを確認するにはどうすればよいですか?

    次のコードを使用して、Pythonに変数が存在するかどうかを確認します。 例 x =10 class foo: g = 'rt' def bar(self): m=6 print (locals()) if 'm' in locals(): print ('m is local variable') else: print ('m is not a local variable') f = foo() f.bar() print (globals()) if hasattr(f, 'g'): print ('