字符处理函数
函 数 描 述
nchar(x)
计算 x 中的字符数量
x <- c("ab", "cde", "fghij")
length(x) 返回值为 3 (参见表 5-7)
nchar(x[3]) 返回值为 5
substr(x, start, stop)
提取或替换一个字符向量中的子串
x <- "abcdef"
substr(x, 2, 4) 返回值为 "bcd"
substr(x, 2, 4) <- "22222" ( x 将变成 "a222ef" )
grep(pattern, x, ignore.
case=FALSE, fixed=FALSE)
在 x 中搜索某种模式。若 fixed=FALSE ,则 pattern 为一个正则表达式。若
fixed=TRUE ,则 pattern 为一个文本字符串。返回值为匹配的下标
grep("A",c("b","A","c"),fixed=TRUE) 返回值为 2
sub(pattern, replacement,
x, ignore.case=FALSE,
fixed=FALSE)
在 x 中搜索 pattern ,并以文本 replacement 将其替换。若 fixed=FALSE ,则
pattern 为一个正则表达式。若 fixed=TRUE ,则 pattern 为一个文本字符串。
sub("\\s",".","Hello There") 返回值为 Hello.There 。注意, "\s" 是一个
用来查找空白的正则表达式;使用 "\\s" 而不用 "\" 的原因是,后者是 R中的转义
字符
strsplit(x, split,
fixed=FALSE)
在 split 处分割字符向量 x 中的元素。若 fixed=FALSE ,则 pattern 为一个正
则表达式。若 fixed=TRUE ,则 pattern 为一个文本字符串
y <- strsplit("abc", "") 将返回一个含有 1个成分、3个元素的列表,包含
的内容为 "a" "b" "c"
unlist(y)[2] 和 sapply(y, "[", 2) 均会返回 "b"
paste(…, sep="")
连接字符串,分隔符为 sep
paste("x", 1:3,sep="") 返回值为 c("x1", "x2", "x3")
paste("x",1:3,sep="M") 返回值为 c("xM1","xM2" "xM3")
paste("Today is", date()) 返回值为 Today is Thu Jun 25 14:17:32 2011
(我修改了日期以让它看起来更接近当前的时间)
toupper(x)
大写转换
toupper("abc") 返回值为 "ABC"
tolower(x)
小写转换
tolower("ABC") 返回值为 "abc"
摘自:R语言实战