stringi

Documentation

stri_trans_tolower {stringi}R Documentation

Transform String with Case Mapping

Description

These functions transform strings either to lower case, UPPER CASE, or to Title Case.

Usage

stri_trans_tolower(str, locale = NULL)

stri_trans_toupper(str, locale = NULL)

stri_trans_totitle(str, ..., opts_brkiter = NULL)

Arguments

str

character vector

locale

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

opts_brkiter

a named list with ICU BreakIterator's settings as generated with stri_opts_brkiter; NULL for default break iterator, i.e. word; stri_trans_totitle only

Details

Vectorized over str.

ICU implements full Unicode string case mappings. In general,

  • case mapping can change the number of code points and/or code units of a string,

  • is language-sensitive (results may differ depending on 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 a 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.

Value

Each function returns a character vector.

References

Case Mappings – ICU User Guide, http://userguide.icu-project.org/transforms/casemappings

See Also

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_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

Examples

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")

[Package stringi version 1.1.7 Index]