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.5 Index]