- @ThothChildren
- 2018.6.6
- PV 786
文字がアルファベットのみか判定したい
ー 概要 ー
入力文字列がアルファベットだけかどうかを判定するときの方法についてまとめます.主にプログラミング寄りの話になります.
この章を学ぶ前に必要な知識
条件
- 長さが1以上の入力文字列
効果
- 文字列がアルファベットだけで構成されているかどうかが分かる
ポイント
- 正規表現で行うかシンプルな方法で行うかの二通り
解 説
入力された文字列がアルファベットのみで作られているか判定したいことがあります.幾らかの言語ではあらかじめアルファベットかどうかを判定するコードがあります.
ここでは1文字ずつ確認するシンプルな方法と正規表現によるものを紹介します.
ともに本質的には同じことをしています. | 文字がアルファベットのみか判定したい | ||||||
Python
| Pythonに用意されている関数isalphaを用いた場合 | ||||||
C++ではisalpha自体はないがいろいろな関数を組み合わせれば実現することができる.右の質問サイトの回答ではいくらかの方法についてまとまっている. | 外部リンク c++でstdの関数を使って比較を簡単に実装する | ||||||
1.シンプルな方法による1文字ずつの確認 | |||||||
シンプルな文字列の確認では、
・あらかじめ文字列を全て書いておき、それと比較(配列に"abc...."を書いておき、それと比較)
・ASCIIコードであるならば、値の範囲を指定して比較(A-Zは0x41-5A,a-zは0x61-0x7A)
のどちらかで入力文字列の文字と逐次比較する方法で、
先頭から順繰りに見ていく.
これを愚直に確認すれば文字列が全てアルファベットか確認できる.
若干手間なのが難点. | シンプルな方法による実装 | ||||||
2.正規表現による文字列の確認 | |||||||
正規表現ではシンプルな方法のときよりも簡単にコードを記述することができる.
多くのプログラミング言語は正規表現での文字列一致の確認を何らかの方法で提供しているので、それを利用して判定を記述する | 正規表現による文字列の確認 | ||||||
JavaScript
| JavaScriptによる文字列表現の例 | ||||||
のような形で記述できます. | 正規表現によるアルファベットの判定 | ||||||
Python
| Pythonはisalphjaがあるが、正規表現による例を示す
re.matchはマッチしていなければNoneを返す |
この章を学んで新たに学べる
Comments