ToC DocOverview CGDoc RelNotes Index PermutedIndex
Allegro CL
Home Previous Up Next Table of Contents Index
  ANSI Common Lisp   16 Strings   16.2 Dictionary of Strings

16.2.8 string-upcase, string-downcase, string-capitalize, nstring-upcase, nstring-downcase, nstring-capitalize Function

Syntax:
string-upcase string &key start end cased-string
string-downcase string &key start end cased-string
string-capitalize string &key start end cased-string
nstring-upcase string &key start end string
nstring-downcase string &key start end string
nstring-capitalize string &key start end string

Arguments and Values:
string - a string designator. For nstring-upcase, nstring-downcase, and nstring-capitalize, the string designator must be a string.

start, end - bounding index designators of string. The defaults for start and end are 0 and nil, respectively.

cased-string - a string.

Description:
string-upcase, string-downcase, string-capitalize, nstring-upcase, nstring-downcase, nstring-capitalize change the case of the subsequence of string bounded by start and end as follows:

For string-upcase, string-downcase, and string-capitalize, string is not modified. However, if no characters in string require conversion, the result may be either string or a copy of it, at the implementation's discretion.

Examples:
 (string-upcase "abcde")  "ABCDE"
 (string-upcase "Dr. Livingston, I presume?")
 "DR. LIVINGSTON, I PRESUME?"
 (string-upcase "Dr. Livingston, I presume?" :start 6 :end 10)
 "Dr. LiVINGston, I presume?"
 (string-downcase "Dr. Livingston, I presume?")
 "dr. livingston, i presume?"

 (string-capitalize "elm 13c arthur;fig don't")  "Elm 13c Arthur;Fig Don'T"
 (string-capitalize " hello ")  " Hello "
 (string-capitalize "occlUDeD cASEmenTs FOreSTAll iNADVertent DEFenestraTION")
  "Occluded Casements Forestall Inadvertent Defenestration"
 (string-capitalize 'kludgy-hash-search)  "Kludgy-Hash-Search"
 (string-capitalize "DON'T!")  "Don'T!"    ;not "Don't!"
 (string-capitalize "pipe 13a, foo16c")  "Pipe 13a, Foo16c"

 (setq str (copy-seq "0123ABCD890a"))  "0123ABCD890a"
 (nstring-downcase str :start 5 :end 7)  "0123AbcD890a"
 str  "0123AbcD890a"

Side Effects:
nstring-upcase, nstring-downcase, and nstring-capitalize modify string as appropriate rather than constructing a new string.

See Also:
char-upcase, char-downcase

Notes:
The result is always of the same length as string.

Allegro CL Implementation Details:
None.

Home Previous Up Next Table of Contents Index
© Franz Inc. All Rights Reserved - File last updated 2022-07-25