Python 文字列が「数字」か判定・文字列内に数字があるか判定
最終的には「文字列に数字が含まれているのか」を判定したい。 その前段階として、「文字列が数字か」という日本語的に危うい判定をこなす。
文字列が数字か判定
.isdigit()
メソッドを使用。
s = "hoge" s2 = "1hoge" n = "101" print(s.isdigit(), s2.isdigit(), n.isdigit()) -> False False True
他にもisdecimal()
メソッドとisnumeric()
メソッドが存在していて、微妙に挙動が異なる。
詳しくは以下のページ。
文字列内に数字があるか判定したい
for文を使って変数内の文字列を1字ずつ取得(iに代入)して、1字ずつ.isdigit()
メソッドで判定していく。
s = "hoge" s2 = "1hoge" def check_num(string): for i in string: if i.isdigit(): return True else: return False print(check_num(s)) -> False print(check_num(s2)) -> True