大文字と小文字を入れ替える - lisp-cookbook-ja/common-lisp GitHub Wiki
大文字と小文字を入れ替える
標準で大文字と小文字を入れ替える方法はありませんので自作するかライブラリを利用することになるでしょう。
文字列/文字の大文字/小文字変換については、string-upcase、char-upcase等の仲間が利用できます。
(defun string-invertcase (str)
(map 'string (lambda (x y)
(if (eql x y)
(char-downcase x)
y))
str
(string-upcase str)))
(string-invertcase "Hi, CLer")
;=> "hI, clER"
大文字小文字の対応については、ASCIIの範囲になります。Schemeの様にASCII以外の範囲(ギリシャ文字等)までは決まっていません。