2022年5月23日星期一

R in Action Chapter 5(三)字符处理函数

字符处理函数

这类函数可以从文本型数据中抽取信息,或者为打印输出和生成报告重设文本格式。

  • 你可能希望将某人的姓和名连接在一起,并保证姓和名的首字母大写

  • 想统计可自由回答的调查反馈信息中含有秽语的实例数量

下面的表格中是一些有用的字符处理函数

表5-6字符处理函数

函数描述示例
nchar(x)计算x中的字符数量x<-c("ab", "cde", "fghij") lenghth(x)返回值为3 nchar(x[3])返回值为5
substr(x, star, stop)提取或替换一个字符向量中的子串x <- "abcdef" substr(x,2,4)返回值为"bcd" sbustr(x,2,4) <- "22222"(将原x中2-4位的bcd替换成222)
grep(pattern, x, ignore.case = FALSE, fixed = FALSE)在x中搜寻某种模式,若fixed = FALSE, 则pattern为一个正则表达式;若fixed = TRUE,则pattern为一个文本字符串。返回值为匹配的下标grep("A",c("b", "A", "c"), fixed = TRUE)返回值为2
sub(pattern, replacement, x, ignore.case = FALSE, fixed = FALSE)在x中搜索pattern,并以文本replacement将其替换。 若fixed = FALSE,则pattern为一个正则表达式; 若fixed = TRUE,则pattern为一个文本字符串sub("\s", ".", "Hello There")返回值为Hello.There
strsplit(x, split, fixed = FALSE)在split处分割字符向量x中的元素 若fixed = FALSE,则pattern为一个正则表达式; 若fixed = TRUE,则pattern为一个文本字符串y <- strsplit("abc", ""),返回含有一个成分、3个元素的列表,包含的内容分别为"a","b","c"
paste(…, sep="")连接字符串,分隔符为seppaste("x", 1:3, sep=""),返回c("x1","x2","x3") paste("x", 1:3, sep="M"),返回c("xM1","xM2","xM3") paste("Today is", date()),返回值为Today is 具体时间
toupper(x)大写转换
tolower(x)小写转换

没有评论: