Next: , Previous: Formatting Strings, Up: Strings and Characters


4.8 Lispの大文字小文字変換

大文字小文字変換関数は、1文字や文字列内の大文字小文字を変更します。 関数は、通常、アルファベット文字 (非ASCII文字のアルファベットに加えて、 ‘A’から‘Z’と‘a’から‘z’)だけを変換します。 それ以外の文字は変わりません。 (大文字小文字テーブルを指定して異なる大文字小文字変換を指定できる。 see Case Tables

これらの関数は、引数として渡した文字列は変更しません。

以下の例では、文字‘X’と‘x’を使います。 ASCIIコードは、それぞれ、88と120です。

— Function: downcase string-or-char

この関数は、文字や文字列を小文字に変換する。

downcaseの引数が文字列であると、 この関数は、引数の各文字の大文字を小文字に変換した新たな文字列を作成する。 downcaseの引数が文字であると、 downcaseは対応する小文字を返す。 この値は整数である。 もとの文字が小文字であったりアルファベット文字でなければ、 値はもとの文字に等しい。

          (downcase "The cat in the hat")
                "the cat in the hat"
          
          (downcase ?X)
                120
— Function: upcase string-or-char

この関数は、文字や文字列を大文字に変換する。

upcaseの引数が文字列であると、 この関数は、引数の各文字の小文字を大文字に変換した新たな文字列を作成する。

upcaseの引数が文字であると、 upcaseは対応する大文字を返す。 この値は整数である。 もとの文字が大文字であったりアルファベット文字でなければ、 値はもとの文字に等しい。

          (upcase "The cat in the hat")
                "THE CAT IN THE HAT"
          
          (upcase ?x)
                88
— Function: capitalize string-or-char

この関数は、文字列や文字をキャピタライズ(先頭文字だけを大文字に)する。 string-or-charが文字列ならば、 この関数は、string-or-charのコピーの各単語をキャピタライズしたものを 内容とする新たな文字列を作成して返す。 つまり、各単語の先頭文字だけを大文字にして残りを小文字にする。

単語の定義は、現在の構文テーブル(See Syntax Class Table)において 単語構成文字に分類された文字が連続した列である。

capitalizeの引数が文字の場合には、 capitalizeupcaseの結果と同じである。

          (capitalize "The cat in the hat")
                "The Cat In The Hat"
          
          (capitalize "THE 77TH-HATTED CAT")
                "The 77th-Hatted Cat"
          
          (capitalize ?x)
                88
— Function: upcase-initials string

この関数は、string内の単語の先頭文字だけを大文字にし、 先頭文字以外の文字は変更しない。 この関数は、stringのコピーの各単語の先頭文字を大文字に変換したものを 内容とする新たな文字列を返す。

単語の定義は、現在の構文テーブル(See Syntax Class Table)において 単語構成文字に分類された文字が連続した列である。

          (upcase-initials "The CAT in the hAt")
                "The CAT In The HAt"

文字列を比較する関数については、See Text Comparison。 これらは、大文字小文字を区別しないものもあれば、 場合によって大文字小文字を区別しないものもある。