Go to the previous, next section.

Alphabetic Case in Strings

procedure+: string-capitalized? string

procedure+: substring-capitalized? string start end

These procedures return #t if the first word in the string (substring) is capitalized, and any subsequent words are either lower case or capitalized. Otherwise, they return #f. A word is defined as a non-null contiguous sequence of alphabetic characters, delimited by non-alphabetic characters or the limits of the string (substring). A word is capitalized if its first letter is upper case and all its remaining letters are lower case.

(map string-capitalized? '(""    "A"    "art"  "Art"  "ART"))
                       => (#f    #t     #f     #t     #f)

procedure+: string-upper-case? string

procedure+: substring-upper-case? string start end

procedure+: string-lower-case? string

procedure+: substring-lower-case? string start end

These procedures return #t if all the letters in the string (substring) are of the correct case, otherwise they return #f. The string (substring) must contain at least one letter or the procedures return #f.

(map string-upper-case?  '(""    "A"    "art"  "Art"  "ART"))
                       => (#f    #t     #f     #f     #t)

procedure+: string-capitalize string

procedure+: string-capitalize! string

procedure+: substring-capitalize! string start end

string-capitalize returns a newly allocated copy of string in which the first alphabetic character is uppercase and the remaining alphabetic characters are lowercase. For example, "abcDEF" becomes "Abcdef". string-capitalize! is the destructive version of string-capitalize: it alters string and returns an unspecified value. substring-capitalize! destructively capitalizes the specified part of string.

procedure+: string-downcase string

procedure+: string-downcase! string

procedure+: substring-downcase! string start end

string-downcase returns a newly allocated copy of string in which all uppercase letters are changed to lowercase. string-downcase! is the destructive version of string-downcase: it alters string and returns an unspecified value. substring-downcase! destructively changes the case of the specified part of string.

(define str "ABCDEFG")          =>  unspecified
(substring-downcase! str 3 5)   =>  unspecified
str                             =>  "ABCdeFG"

procedure+: string-upcase string

procedure+: string-upcase! string

procedure+: substring-upcase! string start end

string-upcase returns a newly allocated copy of string in which all lowercase letters are changed to uppercase. string-upcase! is the destructive version of string-upcase: it alters string and returns an unspecified value. substring-upcase! destructively changes the case of the specified part of string.

Go to the previous, next section.