一、nchar与length
nchar是取字符串的长度,而length取的是向量中每个元素的长度
> nchar("abc")
[1] 3
>
nchar(c("a","ab","abc"))
[1] 1 2 3
>
length(c("a","ab","abc"))
[1] 3
二、字符串粘合函数 paste与paste0
paste
在不指定分割符号的情况下,墨粉分割符号是空格
paste0 在不指定分割符号的情况下,墨粉分割符号是 空
>paste("hello","world")
[1] "hello world"
>
paste0("hello","world")
[1] "helloworld"
> paste("abc", "efg",
"hijk", sep = "-") #
[1] "abc-efg-hijk"
> paste0("A", 1:6, sep = "")
[1] "A1" "A2" "A3" "A4" "A5"
"A6"
> paste0("A", 1:6)
[1] "A1" "A2" "A3" "A4" "A5"
"A6"
#从上面指导paste0的默认分隔符号是“”即空格
> paste("abc", "efg",
"hijk", sep = "-")
[1] "abc-efg-hijk"
> paste("abc", "efg",
"hijk") #默认分割符号为空格
[1] "abc efg hijk"
三、提取substr、分割strsplit字符串
#提取函数substr()提取的是从start到stop之间的字符串,通过class()函数判断,我们得知substr()返回类型是字符串character格式
> substr(x = "hello world", start =
1, stop = 5)
[1] "hello"
> class(substr(x = "hello world", start = 1, stop =
5))
[1] "character"
> strsplit("abc", split =
"")
[[1]]
[1] "a" "b" "c"
>
class(strsplit("abc", split = ""))
[1] "list"
> strsplit(c("abc", "bcd",
"dfafadf"), split = "")
[[1]]
[1] "a" "b" "c"
[[2]]
[1] "b" "c" "d"
[[3]]
[1] "d" "f" "a" "f" "a" "d"
"f"
#分割函数strsplit()是对abc进行分割,返回值是 列表list格类型。注意列表[[1]][[2]][[3]]下面会用到
> strsplit(c("abc", "bcd", "dfafadf"), split =
"")[[1]][1]
[1] "a"
> strsplit(c("abc", "bcd", "dfafadf"),
split = "")[[2]][3]
[1] "d"
> strsplit(c("abc", "bcd", "dfafadf"),
split = "")[[3]][4]
[1] "f"
#你发现规律了没有
#分割向量的每一个元素,并取分割后的第一个元素中的第一个元素
uunlist(lapply(X = c("abc", "bcd",
"dfafadf"),
FUN = function(x)
{
return(strsplit(x, split =
"")[[1]][1])
}
)
)
[1] "a" "b" "d"
四、gsub与sub
gsub替换匹配到的全部,而sub只替换匹配到的第一个
> gsub(pattern="a",replacement =
"A",x="a handsome man")
[1] "A hAndsome mAn"
> sub(pattern="a",replacement =
"A",x="a handsome man")
[1] "A handsome man"
五、grep 匹配函数
grep函数返回的是索引值
grep(pattern = "a",x=c("He","is","a","bad", "egg"))
[1] 3 4
六、chartr函数
chartr(old,
new, x)
参数:x一个字符向量,或者一个可以强制as.character字符的对象。
参数:old一个字符串指定的字符被翻译。如果字符长度为2个或更多的向量提供,第一个元素是使用一个警告。
参数:new字符串指定的翻译。如果字符长度为2个或更多的向量提供,第一个元素是使用一个警告。
x <- "MiXeD cAsE
123"
chartr("iXs", "why", x)
[1] "MwheD cAyE 123"
chartr("a-cX", "D-Fw", x)
[1] "MiweD FAsE 123"
加载中,请稍候......