| chartr {base} | R Documentation |
Translate characters in character vectors, in particular from upper to lower case or vice versa.
chartr(old, new, x) tolower(x) toupper(x) casefold(x, upper = FALSE)
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. |
new |
a character string specifying the translations. |
upper |
logical: translate to upper or lower case?. |
chartr translates each character in x that is specified
in old to the corresponding character specified in new.
Ranges are supported in the specifications, but character classes and
repeated characters are not. If old contains more characters
than new, an error is signaled; if it contains fewer characters, the
extra characters at the end of new are ignored.
tolower and toupper convert upper-case characters in a
character vector to lower-case, or vice versa. Non-alphabetic
characters are left unchanged.
casefold is a wrapper for tolower and toupper
provided for compatibility with S-PLUS.
A character vector of the same length and with the same attributes as
x (after possible coercion).
sub and gsub for other
substitutions in strings.
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'