はじめに
文字の種類別に文字列を取得します。
使用するライブラリ
string
標準ライブラリですのでインストールが不要になります。
ライブラリstringで取得できる文字列
ascii_letters:アルファベット(小文字・大文字含む)
ascii_lowercase:アルファベット(小文字)
ascii_uppercase:アルファベット(大文字)
digits:数値(10進数)
hexdigits:数値(16進数)
octdigits:数値(8進数)
printable:印刷可能な ASCII 文字で構成される文字列
punctuation:ASCII 文字の記号
whitespace:ASCII 文字の空白
アルファベット(小文字・大文字含む)
string.ascii_letters # 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
アルファベット(小文字)
string.ascii_lowercase # 'abcdefghijklmnopqrstuvwxyz'
アルファベット(大文字)
string.ascii_uppercase # 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
数値(10進数)
string.digits # '0123456789'
数値(16進数)
string.hexdigits # '0123456789abcdefABCDEF'
数値(8進数)
string.octdigits # '01234567'
印刷可能な ASCII 文字で構成される文字列
string.printable # '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~ \t\n\r\x0b\x0c'
ASCII 文字の記号
string.punctuation # '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'
ASCII 文字の空白
string.whitespace # ' \t\n\r\x0b\x0c'
*\t
の前にスペースがあります。
日本語(全角と半角カタカナ)
ここからはライブラリstringは使用できません。
ひらがな
temp = [chr(i) for i in range(12353, 12353+86)] ''.join(temp) # 'ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔゕゖ'
全角カタカナ
temp = [chr(i) for i in range(12449, 12449+90)] ''.join(temp) # 'ァアィイゥウェエォオカガキギクグケゲコゴサザシジスズセゼソゾタダチヂッツヅテデトドナニヌネノハバパヒビピフブプヘベペホボポマミムメモャヤュユョヨラリルレロヮワヰヱヲンヴヵヶヷヸヹヺ'
半角カタカナ
temp = [chr(i) for i in range(65382, 65382+58)] ''.join(temp) # 'ヲァィゥェォャュョッーアイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワン゙゚'
*「ー」や濁点、半濁点が含まれていますので適宜外してください。
全角数値
temp = [chr(i) for i in range(65296, 65296+10)] ''.join(temp) # '0123456789'
全角アルファベット(大文字)
temp = [chr(i) for i in range(65313, 65313+26)] ''.join(temp) # 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
全角アルファベット(小文字)
temp = [chr(i) for i in range(65345, 65345+26)] ''.join(temp) # 'abcdefghijklmnopqrstuvwxyz'
全角記号(ASCII 文字の記号)
ASCII 文字の記号と合わせてみました。飛び飛びになっています。なお、他にも多くの全角記号があります。
temp = [chr(i) for i in range(65281, 65281+15)] temp.extend([chr(i) for i in range(65306, 65300+13)]) temp.extend([chr(i) for i in range(65339, 65339+6)]) temp.extend([chr(i) for i in range(65371, 65371+4)]) ''.join(temp) # !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~'
ASCIIコードに変換
ordを利用すればASCII コードに変換できますので、上記の記号などは手探りで作成することができます。
ord('あ') # 12354 chr(12354) # 'あ'
コメント