2011/04/17

文字がアルファベットかどうかを調べる



文字列中の 1文字がアルファベットかどうか知りたいことがたまにある。


たとえば、こう書ける。



(defun char-alphabet-p (ch)
(if (char-not-greaterp #\a ch #\z) t
nil))


char-not-greaterp は char<= の大文字/小文字区別なし版で、2つの引数の大小比較だけでなくて、3個以上の引数を取れるってとこがミソかな。


関係ないけど、Wikipedia によると A~Z, a~z を「アルファベット」という呼ぶのは日本だけっぽい


とすると、上の関数名はすごく変に感じるけど、まあいいや。


ちなみに数字かどうかは、これで一発。



(defun char-number-p (ch)
(if (char<= #\0 ch #\9) t
nil))


たらたら書く必要なし。すばらしい。





Related Posts Plugin for WordPress, Blogger...

0 コメント :

コメントを投稿