R语言 正则表达式

Posted 基督徒Isaac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R语言 正则表达式相关的知识,希望对你有一定的参考价值。

string <- c("Hiphopopotamus","Rhymenoceros","time for bottomless lyrics")
pattern <- "t.m"

#分割字符串
strsplit(string,pattern)#按关键词分割字符串
stringr::str_split(string,pattern)

#定位关键字
regexpr(pattern,string)#返回每个字符串第一次匹配关键词的位置和长度
gregexpr(pattern,string)#返回全部匹配的位置和长度,无匹配则填-1
stringr::str_locate(string,pattern)#返回第一次匹配关键词的首尾位置(好用)
stringr::str_locate_all(string,pattern)#返回全部匹配的首尾位置(好用)

#检测关键词
grep(pattern,string)#关键词匹配哪几个字符串
grep(pattern,string,value=T)#返回包含关键词的字符串
grepl(pattern,string)#判断关键词与字符串是否匹配
stringr::str_detect(string,pattern)

#提取关键词
regmatches(string,regexpr(pattern,string))
regmatches(string,gregexpr(pattern,string))
stringr::str_extract(string,pattern)
stringr::str_extract_all(string,pattern)
stringr::str_extract_all(string,pattern,simplify=T)
stringr::str_match(string,pattern)
stringr::str_match_all(string,pattern)

#关键词替换
sub(pattern,"*",string)
gsub(pattern,"*",string)
stringr::str_replace(string,pattern,"*")
stringr::str_replace_all(string,pattern,"*")

参考:

https://mp.weixin.qq.com/s/be2Dz-gyocp9Cbm5dkoQuQ

https://www.math.pku.edu.cn/teachers/lidf/course/fts/ftsnotes/html/_ftsnotes/fts-ltscases-gas.html#

#https://faculty.chicagobooth.edu/-/media/faculty/ruey-s-tsay/teaching/introts/w-petroprice.txt
la <- readLines("E:/w-petroprice.txt")

#https://www.jianshu.com/p/11bbfa8e98c5
la <- gsub("\\\\s+", " ", la)
la <- gsub("^\\\\s+|\\\\s$", "", la)

c(
  head(la),
  tail(la)
)

da1 <- readr::read_table2(
  paste(la, collapse="\\n")
  )

以上是关于R语言 正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

R语言之正则表达式

R语言-正则表达式1

R语言| 学一点stringr与正则表达式

干货收藏 | R语言之正则表达式

R语言 正则表达式

R语言 | 关于正则表达式的两个使用体会