正则表达式函数

R中常用的6个正则表达式函数split,grep,regexpr,gregexpr,sub,gsub

1.strsplit()函数可以使用字符串或正则表达式来决定在哪里拆分字符串,将字符串划分为更小的段。
参数一是要拆分的字符串,参数二是用来将字符串分解成多个部分的字符值或正则表达式.该函数将分解后的子段返回的列表中

语法:strsplit(x,split,fixed=F,perl=F,useBytes = F)
应用:
string <- “split the elements of a character vector x into substring
according to the matches to substring split within them”
part1 <- strsplit(string,split=”“)#拆分成单个字母,其中空格也会被单独列出
part2 <- strsplit(string,split=” “)#根据空格拆分成单个单词字符串

2.grep()函数接受一个正则表达式和一个字符串或字符串向量,并返回由正则表达式匹配的字符串元素的索引。如果参数value=TRUE,则它将返回与正则表达式匹配的实际字符串,而不是其索引号。
语法:
grep(pattern,x,ignore.case=FALSE,perl = FALSE,
value=FALSE,fixed = FALSE,useBytes = FALSE,invert=FALSE)

例如,在LifeCycleSavings数据框中存在两个变量,都是以’pop’开头,
可以使用grep()函数找到这两个变量

head(LifeCycleSavings)
grep("^pop",names(LifeCycleSavings))
grep("^pop",names(LifeCycleSavings),value=TRUE)

返回以某个字符开头或某个字符结尾的字符串

s <- c("huamulan","wuzetian","yuer")
grep("n$",s)  #返回以n结尾的字符串的索引
grep("n$",s,value=TRUE)

如果要匹配的正则表达式不区分大小写时,可以使用ignore.case=TRUE

inp <- c("run dog run","work doggedly","PIG AND DOG")
grep("dog",inp,ignore.case = TRUE,value=TRUE)
[1] "run dog run"   "work doggedly" "PIG AND DOG"  

3.regexpr()和gregexpr()函数可用于准确指出和提取字符串中与正则表达式相匹配的部分,这两个函数的输出为一个向量和列表,由所发现的正则表达式的起始点组成;

如果没有匹配发生,返回值为-1,此外,match.length属性与起始点向量结合,提供字符匹配的准确信息。
regexpr函数只提供其输入字符串中第一个匹配的有关信息,而gregexpr函数返回所有匹配的信息。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值