[转] R 4 字符串处理

# 数据准备
x<-c("abcd","abcdef","good")
x1<-"gabcde"
y<-"好好"
z<-"学习"
z1<-"天天向上"

# 1、查询函数

nchar(x1)  # 字符串的长度,即有几个字符
nchar(x)   # 字符串向量中,每个字符串的长度
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没有字符串替换函数

原文:http://www.ppvke.com/Blog/archives/29060

猜你喜欢

转载自blog.csdn.net/scpcmoon/article/details/80610017