Pythonの文字列`isalnum()`関数は、その文字列が英数字のみで構成されている場合に`True`を返します。文字が英数字である場合は`True`で、数字またはアルファである場合です。文字列が空の場合、`isalnum()`は False
を返します。
Pythonの文字列isalnum()の例
s = 'HelloWorld2019'
print(s.isalnum())
出力:True
s = 'Hello World 2019'
print(s.isalnum())
出力:False
空白は英数字ではないため。
s = ''
print(s.isalnum())
出力:False
空の文字列です。
s='A.B'
print(s.isalnum())
s = '10.50'
print(s.isalnum())
出力:
False
False
文字列には、英数字ではないピリオド(.)が含まれています。
s = 'çåøÉ'
print(s.isalnum())
出力:True
これらすべてがアルファ文字であるため。アルファベット文字は、Unicode文字データベースで「Letter」と定義されている文字であり、つまり一般的なカテゴリプロパティが「Lm」、「Lt」、「Lu」、「Ll」、「Lo」のいずれかであるものです。
Pythonですべての英数字文字を出力
プログラムを使用して文字が英数字かどうかを確認するには、unicode
モジュールを使用できます。以下は、すべての英数字のUnicode文字を出力するプログラムです。
import unicodedata
count = 0
for codepoint in range(2 ** 16):
ch = chr(codepoint)
if ch.isalnum():
print(u'{:04x}: {} ({})'.format(codepoint, ch, unicodedata.name(ch, 'UNNAMED')))
count = count + 1
print(f'Total Number of Alphanumeric Unicode Characters = {count}')
出力:
...
ffd7: ᅲ (HALFWIDTH HANGUL LETTER YU)
ffda: ᅳ (HALFWIDTH HANGUL LETTER EU)
ffdb: ᅴ (HALFWIDTH HANGUL LETTER YI)
ffdc: ᅵ (HALFWIDTH HANGUL LETTER I)
Total Number of Alphanumeric Unicode Characters = 49567
I have provided only partial output because the number of alphanumeric unicode characters is huge.
詳細なPythonの例は、GitHubリポジトリから確認できます。
参照:公式ドキュメント
Source:
https://www.digitalocean.com/community/tutorials/python-string-isalnum