(1)字符串长度与转化
#提取字符串长度
nchar(x) #x是所要提取长度的字符串、向量、数据框某个属性
#字符串转化
tolower(x) #将x转化为小写;
toupper(x) #将x转化为大写;
chartr(old,new,x) #将x中的old字符替换为new字符
(2)字符串连接
函数paste(),基本格式为:
paste(…, sep=" ", collapse=NULL)
…可以为1个字符,也可以为多个字符;
seq表示分隔符(默认为空格);
collapse若不指定值,则返回值是连接后的字符型向量,
若指定值,则连接后的字符型向量会再用collapse值连接成一个字符串。
就是多个字符串变成一个,collapse=“,”类似
(短向量会被重复使用)
(3)字符串拆分
函数strsplit(),基本格式为:
strsplit(x, split, fixed=FALSE, useBytes=FALSE, ...)
其中,x为字符串向量,每个元素将被分别拆分,拆分结果为一个列表;
split为指定拆分位置的子串或正则表达式;
fixed=FALSE(默认),则split作为正则表达式(多用)
fixed=TRUE,则split作为精确匹配的文本字符串
useBytes设置是否逐个字节进行匹配,默认为FALSE,即按字符而不是字节进行匹配。(多用)
(4)字符串替换
函数sub()和gsub(),基本格式为:
sub(pattern, replacement, x, ignore.case=FALSE, fixed=FALSE, ...)
gsub(pattern, replacement, x, ignore.case=FALSE, fixed=FALSE, ...)
用来在x中搜索pattern,并用replacement将其替换。
两个函数的区别是:
sub()只对第一个满足条件的匹配作替换,若x是向量,则对每个元素第一个满足条件的匹配作替换;
gsub()将把所有满足条件的匹配都做替换。
(5)字符串提取
substring(x, start, stop) <- value
x为字符串或字符串向量(对每个元素都分别操作);
start为起始位置;
stop为结束位置;
value为字符向量,若没有“<-value”,函数只提取相应位置内的子串
若有“<-value”,则用它的值做相应替换。
(6)补充
函数strtrim(x, width)将字符串x“修剪”为长度为width.
若x长度小于width,则最少也会长度-1
函数match(x, table)返回x在table中第一次匹配的位置。