在日常数据分析的过程中,我们经常需要在一个字符串或者字符串向量中查找是否包含我们要找的东西,或者向量中那几个元素包含我们要查找的内容。这个时候我们会用到r中最常用的两个函数,grep和grepl。其实grep这个函数也并非是r所特有的,在linux中模式匹配也用grep这个函数,前面我就给大家简单介绍过☞linux xargs grep zgrep命令。
我们先来看看grep和grepl这两个函数的用法。

这两个函数最大的区别在于grep返回找到的位置,grepl返回是否包含要查找的内容。接下来我们结合具体的例子来讲解。
代码语言:javascript代码运行次数:0运行复制<code class="javascript">#创建一个字符串向量x <- c("d", "a", "c", "abba") #查找包含a的元素所在的位置grep("a", x) #判断每个元素是否包含a,返回的是逻辑向量grepl("a", x) #同时匹配多个内容,查找包含a或者c的元素所在的位置grep("a|c", x)#同时匹配多个内容,判断每个元素是否包含a或者c,返回的是逻辑向量grepl("a|c", x)</code>运行结果如下:











