部分字符串匹配 - R.

Don*_*yck 4 regex grep r

我需要在R中编写一个查询来匹配列名中的部分字符串.我在SQL中寻找类似于LIKE运算符的东西.例如,如果我知道字符串的开头,中间或结尾部分,我会以格式编写查询:

LIKE 'beginning%middle%' 
Run Code Online (Sandbox Code Playgroud)

在SQL中,它将返回匹配的字符串.在pmatchgrep似乎我只能指定'开头','结束'而不是订单.我正在寻找R中是否有类似的功能?

例如,假设我在向量中查找:

y <- c("I am looking for a dog",
       "looking for a new dog", "a dog", "I am just looking")
Run Code Online (Sandbox Code Playgroud)

让我们说我想写一个选择的查询,"looking for a new dog"我知道字符串的开头是"looking"和字符串的结尾是"dog".如果我做了grep("dog",y)它会返回1,2,3.有什么方法可以指定开头和结尾grep吗?

MrF*_*ick 7

grep函数支持正则表达式,使用正则表达式,几乎可以匹配任何内容

y<- c("I am looking for a dog", "looking for a new dog", "a dog", "I am just looking")
grep("looking.*dog",y, value=T)
# [1] "I am looking for a dog" "looking for a new dog" 
Run Code Online (Sandbox Code Playgroud)

在这里,这个模式looking然后寻找"也许某事" dog.所以这应该做你想要的.