R 中字符串常用操作
字符串操作 | 函数 |
---|---|
字符串长度 | nchar() |
字符串分割 | strsplit() |
字符串拼接 | paste() |
字符串截取 | substr() |
字符串替换 | gsub() chartr() sub() |
字符串匹配 | grep() grepl() |
大小写转换 | toupper() tolower() |
字符串长度
nchar
能够获取字符串的长度,它也支持字符串向量操作。注意它和 length
的结果是有区别的,length
返回 R 对象中的元素个数。
1 |
fruit <- 'apple orange grape banana' |
字符串分割
strsplit
负责将字符串按照某种分割形式将其进行划分,需要设定分隔符。
下面是用空格来作为分隔符将 fruit 分为四个元素:
1 |
strsplit(fruit, split=' ') |
字符串拼接
paste
负责将若干个字符串相连结,返回成单独的字符串。其优点在于,就算有的处理对象不是字符型也能自动转为字符型。另一个相似的函数 paste0
是设置无需分隔符的拼接。
1 |
paste(fruitvec, collapse=',') # 逗号作为分隔符 |
字符串截取
substr
能对给定的字符串对象取出子集,其参数是子集所处的起始和终止位置。
1 |
substr(fruit, 1, 5) |
字符串替换
chartr
是字母替换,不是字符串替换;
gsub
负责搜索字符串的特定表达式,并用新的内容加以替换;
sub
函数类似 gsub
,但只替换第一个。
1 |
chartr('world', 'bear', a) # 字母替换 |
字符串匹配
grep
负责搜索给定字符串对象中的特定表达式,并返回其位置索引。grepl
函数与之类似,但其后面的 l
则意味着返回的将是逻辑值。
1 |
grep('grape', fruitvec) # 返回 grape 在 fruitvec 中的位置 |
大小写转换
toupper
所有字符转换为大写;
tolower
所有字符转换为小写。
1 |
a <- "Hello World" |
Writing Enriches Life.