文字列を構成する文字がすべて数値か、数値以外の文字かといった判定をするメソッド群。
- isdecimal()
- 全ての文字が十進数字ならTrue
- isdigit()
- 全ての文字が数字ならTrue
- isnumeric()
- 全ての文字が数を表す文字ならTrue
- isalpha()
- 全ての文字が数字以外の文字ならTrue
- isalnum()
- 全ての文字が十進数字ならTrue
以下のコードで確認。
1 2 3 4 5 6 7 8 9 |
strings = ['ABCDE', '12345', 'AB+CD', '①②③', '一二三', '壱弐参', '四+五'] for str in strings: print('for', str) print('is decimal ->', str.isdecimal()) print('is digit ->', str.isdigit()) print('is numeric ->', str.isnumeric()) print('is alpha ->', str.isalpha()) print('is alnum ->', str.isalnum()) |
半角英字、半角数字の判定結果は想定通り。
1 2 3 4 5 6 7 8 9 10 11 12 |
for ABCDE is decimal -> False is digit -> False is numeric -> False is alpha -> True is alnum -> True for 12345 is decimal -> True is digit -> True is numeric -> True is alpha -> False is alnum -> True |
半角記号は文字、数字、数を表す文字のいずれでもないと判定。
1 2 3 4 5 6 |
for AB+CD is decimal -> False is digit -> False is numeric -> False is alpha -> False is alnum -> False |
特殊数字は十進数字ではないが数字と判定。
1 2 3 4 5 6 |
for ①②③ is decimal -> False is digit -> True is numeric -> True is alpha -> False is alnum -> True |
漢数字は十進数字や数字ではないが、数を表す文字と判定。
1 2 3 4 5 6 7 8 9 10 11 12 |
for 一二三 is decimal -> False is digit -> False is numeric -> True is alpha -> True is alnum -> True for 壱弐参 is decimal -> False is digit -> False is numeric -> True is alpha -> True is alnum -> True |
全角の記号は文字、数字、数を表す文字のいずれでもないと判定。
1 2 3 4 5 6 |
for 四+五 is decimal -> False is digit -> False is numeric -> False is alpha -> False is alnum -> False |