# 数据准备
x<-c("abcd","abcdef","good")
x1<-"gabcde"
y<-"好好"
z<-"学习"
z1<-"天天向上"
# 1、查询函数
nchar(x1) # 字符串的长度,即有几个字符
# 如果x1是数据框之类的,则返回的数值就不是正确的值,究竟是什么值,有待确定
# 如果字符中存在保留字符,比如"和\就会出现错误,有待处理
# 字符串向量中,每个字符串的长度
方法1:
nchar(x) # 字符串向量中,每个字符串的长度
方法2:
str_length {stringr} # 解决了今天早些时候遇到的转义符问题,但是仍没有解决"和\字符
all['descLength'] = str_length(all$item_description)
length(x) # 向量的长度,即包含几个元素
x[2] # 向量中的第2个元素
x[[3]] # 向量中的第3个元素
grep("b",x) # 查询向量x中包含"b"的元素的位置:第1、第2个元素中含有"b"
grep("[b,o]",x) # 查询x中包含"b"或者"o"的元素的位置:第1、第2、第3个元素中含有"b"或者"o"
regexpr("def","abcdefghi") # def从第4个字符位置上出现
gregexpr("def","abcdefghijabcdef") # def在第4和第14个字符位置上出现
# 2、分割类
strsplit(x1,"") # 将x1分割,标志为空,即全部分割
strsplit(x1,"b") # 将x1分割,标志为"b",即按照"b"的位置进行分割,分割后"b"没有了
# 3、接连类
paste(y,z,z1,sep="") # 将y,z,z1,以间隔""相结合,默认为" ",即一个空格
paste(y,z,z1,sep="-") # 将y,z,z1,以间隔"-"相结合
# 4、提取类
substr(x1,2,4) #将x1字符串的第2至第4个之间的字符截取出来
substr(x,2,3) #将x各字符串的第2至第4个之间的字符截取出来
# 5、替换类
chartr("ab","hk",x1) # 将x1中的ab替换为hk
chartr("b","k",x) # 将x1中的ab替换为hk
chartr("好","天",y) # 将x1中的ab替换为hk
sub("ab","hk",x1) # 将x1中的ab替换为hk
sub("b","k",x) # 将x1中的ab替换为hk
gsub("ab","hk",x1) # 将x1中的ab替换为hk
gsub("b","k",x) # 将x1中的ab替换为hk
# 由于R对参数都是传值而不是传址,所以严格来讲R没有字符串替换函数