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.
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:
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
is like string-upcase
except that all uppercase characters are replaced by the corresponding
lowercase characters (using char-downcase
).
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
,
and nstring-capitalize
are identical to string-upcase
,
string-downcase
, and string-capitalize
respectively 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.
(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"
nstring-upcase
,
nstring-downcase
,
and nstring-capitalize
modify string as appropriate
rather than constructing a new string.
The result is always of the same length as string.