大文字と小文字を入れ替える - lisp-cookbook-ja/common-lisp GitHub Wiki

文字列

大文字と小文字を入れ替える

標準で大文字と小文字を入れ替える方法はありませんので自作するかライブラリを利用することになるでしょう。

文字列/文字の大文字/小文字変換については、string-upcasechar-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以外の範囲(ギリシャ文字等)までは決まっていません。