ID EN
String Functions

chartr

R Base 3.6.2 🇮🇩 Bahasa Indonesia

Terjemahkan karakter dalam vektor karakter, khususnya dari huruf besar ke huruf kecil atau sebaliknya.

Syntax

R
chartr(old, new, x)
tolower(x)
toupper(x)
casefold(x, upper = FALSE)

Arguments

Parameter Deskripsi
x a character vector, or an object that can be coerced to character by as.character.
old a character string specifying the characters to be translated. If a character vector of length 2 or more is supplied, the first element is used with a warning.
new a character string specifying the translations. If a character vector of length 2 or more is supplied, the first element is used with a warning.
upper logical: translate to upper or lower case?.

Return Value

Vektor karakter dengan panjang yang sama dan atribut yang sama dengan x (setelah kemungkinan paksaan). Elemen hasil akan dideklarasikan pengkodeannya sebagai lokal saat ini (lihat Pengkodean) jika masukan terkait memiliki pengkodean yang dideklarasikan dan lokal saat ini adalah Latin-1 atau UTF-8. Hasilnya akan berada dalam pengkodean lokal saat ini kecuali input yang sesuai adalah dalam UTF-8, ketika input tersebut akan berada dalam UTF-8 ketika sistem memiliki karakter lebar Unicode.

Details

chartr menerjemahkan setiap karakter dalam x yang ditentukan dalam karakter lama ke karakter terkait yang ditentukan dalam karakter baru. Rentang didukung dalam spesifikasi, namun kelas karakter dan karakter berulang tidak. Jika yang lama berisi lebih banyak karakter daripada yang baru, sebuah kesalahan ditandai; jika mengandung lebih sedikit karakter, karakter tambahan di akhir karakter baru akan diabaikan. tolower dan toupper mengonversi karakter huruf besar dalam vektor karakter menjadi huruf kecil, atau sebaliknya. Karakter non-abjad tidak diubah. casefold adalah pembungkus untuk tolower dan toupper yang disediakan untuk kompatibilitas dengan S-PLUS.

Contoh

Example
R
# NOT RUN {
x <- "MiXeD cAsE 123"
chartr("iXs", "why", x)
chartr("a-cX", "D-Fw", x)
tolower(x)
toupper(x)

## "Mixed Case" Capitalizing - toupper( every first letter of a word ) :

.simpleCap <- function(x) {
    s <- strsplit(x, " ")[[1]]
    paste(toupper(substring(s, 1, 1)), substring(s, 2),
          sep = "", collapse = " ")
}
.simpleCap("the quick red fox jumps over the lazy brown dog")
## ->  [1] "The Quick Red Fox Jumps Over The Lazy Brown Dog"

## and the better, more sophisticated version:
capwords <- function(s, strict = FALSE) {
    cap <- function(s) paste(toupper(substring(s, 1, 1)),
                  {s <- substring(s, 2); if(strict) tolower(s) else s},
                             sep = "", collapse = " " )
    sapply(strsplit(s, split = " "), cap, USE.NAMES = !is.null(names(s)))
}
capwords(c("using AIC for model selection"))
## ->  [1] "Using AIC For Model Selection"
capwords(c("using AIC", "for MODEL selection"), strict = TRUE)
## ->  [1] "Using Aic"  "For Model Selection"
##                ^^^        ^^^^^
##               'bad'       'good'

## -- Very simple insecure crypto --
rot <- function(ch, k = 13) {
   p0 <- function(...) paste(c(...), collapse = "")
   A <- c(letters, LETTERS, " '")
   I <- seq_len(k); chartr(p0(A), p0(c(A[-I], A[I])), ch)
}

pw <- "my secret pass phrase"
(crypw <- rot(pw, 13)) #-> you can send this off

## now ``decrypt'' :
rot(crypw, 54 - 13) # -> the original:
stopifnot(identical(pw, rot(crypw, 54 - 13)))
# }

See Also

sub and gsub for other substitutions in strings.