These functions transform strings either to lower case, UPPER CASE, or to Title Case.
stri_trans_tolower(str, locale = NULL)stri_trans_toupper(str, locale = NULL)
stri_trans_totitle(str, ..., opts_brkiter = NULL)
character vector
NULL
or ""
for case mapping following
the conventions of the default locale, or a single string with
locale identifier, see stringi-locale.
additional settings for opts_brkiter
a named list with ICU BreakIterator's settings,
see stri_opts_brkiter
;
NULL
for default break iterator, i.e., word
;
stri_trans_totitle
only
Each function returns a character vector.
Vectorized over str
.
ICU implements full Unicode string case mappings. It is worth noting that, generally, case mapping:
can change the number of code points and/or code units of a string,
is language-sensitive (results may differ depending on the locale), and
is context-sensitive (a character in the input string may map differently depending on surrounding characters).
With stri_trans_totitle
, if word
BreakIterator
is used (the default), then the first letter of each word will be capitalized
and the rest will be transformed to lower case.
With the break iterator of type sentence
, the first letter
of each sentence will be capitalized only.
Note that according the ICU User Guide,
the string "one. two. three."
consists of one sentence.
For more general (but not locale dependent)
text transforms refer to stri_trans_general
.
Case Mappings -- ICU User Guide, http://userguide.icu-project.org/transforms/casemappings
Other locale_sensitive:
%s<%()
,
stri_compare()
,
stri_count_boundaries()
,
stri_duplicated()
,
stri_enc_detect2()
,
stri_extract_all_boundaries()
,
stri_locate_all_boundaries()
,
stri_opts_collator()
,
stri_order()
,
stri_sort()
,
stri_split_boundaries()
,
stri_unique()
,
stri_wrap()
,
stringi-locale
,
stringi-search-boundaries
,
stringi-search-coll
Other transform:
stri_trans_char()
,
stri_trans_general()
,
stri_trans_list()
,
stri_trans_nfc()
Other text_boundaries:
stri_count_boundaries()
,
stri_extract_all_boundaries()
,
stri_locate_all_boundaries()
,
stri_opts_brkiter()
,
stri_split_boundaries()
,
stri_split_lines()
,
stri_wrap()
,
stringi-search-boundaries
,
stringi-search
# NOT RUN {
stri_trans_toupper("\u00DF", "de_DE") # small German Eszett / scharfes S
stri_cmp_eq(stri_trans_toupper("i", "en_US"), stri_trans_toupper("i", "tr_TR"))
stri_trans_toupper(c('abc', '123', '\u0105\u0104'))
stri_trans_tolower(c('AbC', '123', '\u0105\u0104'))
stri_trans_totitle(c('AbC', '123', '\u0105\u0104'))
stri_trans_totitle("GOOD-OLD cOOkiE mOnSTeR IS watCHinG You. Here HE comes!") # word boundary
stri_trans_totitle("GOOD-OLD cOOkiE mOnSTeR IS watCHinG You. Here HE comes!", type="sentence")
# }
Run the code above in your browser using DataLab