string-upcase, string-downcase, string-capitalize, nstring-upcase, nstring-downcase, nstring-capitalize (original) (raw)
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:
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-capitalizechange the case of the subsequence of string bounded by start and _end_as follows:
- string-upcase
string-upcase returns a string just like _string_with all lowercase characters replaced by the corresponding uppercase characters. More precisely, each character of the result _string_is produced by applying the function char-upcase to the corresponding character of string. - string-downcase
string-downcase is like string-upcaseexcept that all uppercase characters are replaced by the corresponding lowercase characters (using char-downcase). - string-capitalize
string-capitalize produces a copy of string such that, for every word in the copy, the first character of the "word," if it has case, is uppercase and any other characters with case in the word are lowercase. For the purposes of string-capitalize, a "word" is defined to be a consecutive subsequence consisting of alphanumeric characters, delimited at each end either by a non-alphanumeric _character_or by an end of the string. - nstring-upcase, nstring-downcase, nstring-capitalize
nstring-upcase, nstring-downcase, and nstring-capitalize are identical to string-upcase, string-downcase, and string-capitalizerespectively except that they modify string.
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:
Notes:
The result is always of the same length as string.
Allegro CL Implementation Details:
None.