文字列内の数字の識別
プログラミングの問題の多くは、数値文字列内の文字の検出に焦点を当てています。ただし、このクエリは、数値を持たないことを意図した文字列内の数値を識別するソリューションを求めます。目的は、「犬を 1 匹飼っています。」などの数字を含む文字列を受け入れないようにすることです。
この目的で一般的に使用される isdigital() 関数は、文字列内のすべての文字が数字である場合にのみ True を返します。代わりに、文字列内の数字の存在をチェックするメソッドが必要です。
文字列反復を使用した解決策
1 つのアプローチには、入力内の各文字を反復処理することが含まれます。文字列であり、それが数値であるかどうかを確認します。これは、any() 関数と isdigital() メソッドを使用して実現できます。
def has_numbers(inputString): return any(char.isdigit() for char in inputString)
例:
has_numbers("I own 1 dog") # True has_numbers("I own no dog") # False
通常のソリューションを使用した場合式
正規表現を使用すると、より簡潔なソリューションを実装できます。次のコード スニペットでは、re.search() 関数を使用して文字列内の任意の数字を検索します。
import re def has_numbers(inputString): return bool(re.search(r"\d", inputString))
例:
has_numbers("I own 1 dog") # True has_numbers("I own no dog") # False
両方のソリューションが効果的文字列に数字が含まれているかどうかを判断し、数字を持たないという本来の目的に反する文字列を拒否できるようにします。
以上が文字列内の数値の存在を検出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。