[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

4.8 Case Conversion in Lisp

The character case functions change the case of single characters or of the contents of strings. The functions normally convert only alphabetic characters (the letters `A' through `Z' and `a' through `z', as well as non-ASCII letters); other characters are not altered. You can specify a different case conversion mapping by specifying a case table (see section 4.9 The Case Table).

These functions do not modify the strings that are passed to them as arguments.

The examples below use the characters `X' and `x' which have ASCII codes 88 and 120 respectively.

Function: downcase string-or-char
This function converts a character or a string to lower case.

When the argument to downcase is a string, the function creates and returns a new string in which each letter in the argument that is upper case is converted to lower case. When the argument to downcase is a character, downcase returns the corresponding lower case character. This value is an integer. If the original character is lower case, or is not a letter, then the value equals the original character.

 
(downcase "The cat in the hat")
     => "the cat in the hat"

(downcase ?X)
     => 120

Function: upcase string-or-char
This function converts a character or a string to upper case.

When the argument to upcase is a string, the function creates and returns a new string in which each letter in the argument that is lower case is converted to upper case.

When the argument to upcase is a character, upcase returns the corresponding upper case character. This value is an integer. If the original character is upper case, or is not a letter, then the value returned equals the original character.

 
(upcase "The cat in the hat")
     => "THE CAT IN THE HAT"

(upcase ?x)
     => 88

Function: capitalize string-or-char
This function capitalizes strings or characters. If string-or-char is a string, the function creates and returns a new string, whose contents are a copy of string-or-char in which each word has been capitalized. This means that the first character of each word is converted to upper case, and the rest are converted to lower case.

The definition of a word is any sequence of consecutive characters that are assigned to the word constituent syntax class in the current syntax table (see section 35.2.1 Table of Syntax Classes).

When the argument to capitalize is a character, capitalize has the same result as upcase.

 
(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
This function capitalizes the initials of the words in string, without altering any letters other than the initials. It returns a new string whose contents are a copy of string, in which each word has had its initial letter converted to upper case.

The definition of a word is any sequence of consecutive characters that are assigned to the word constituent syntax class in the current syntax table (see section 35.2.1 Table of Syntax Classes).

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

See section 4.5 Comparison of Characters and Strings, for functions that compare strings; some of them ignore case differences, or can optionally ignore case differences.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on May 2, 2002 using texi2html