我想搜索以55开头的任何内容,以及其中包含单词Roof(区分大小写,对于有好奇心的人)的任何内容。

到目前为止,我一直没有成功,因为我似乎只能使用OR运算符:

grepl("*^55|*Roof", dataset$longname)

最终,我想实现以下目标:
grepl("*^55&&*Roof", dataset$longname)

或者
grepl("*^55&*Roof", dataset$longname)

(显然,这些工作均不起作用-它们仅用于说明。)

我希望我的结果显示任何以55开头并且在任何地方都带有Roof的单词。

例如,我希望这两个结果都可以被grepl()函数获取:
55 - Roof Structure


55-Wall to Roof

是否有可以与AND一起使用的grepl()运算符?

最佳答案

搜索同时具有“a”和“b”的字符串

grepl("a", x) & grepl("b", x)

或者
grepl("a.*b|b.*a", x)

如果我们知道这两部分的顺序,则可以省略最后grepl的两半之一。例如,对于问题中的查询,这足以找到以55开头并包含Roof的字符串
grepl("^55.*Roof", x)

关于r - 可以在grepl()中使用AND运算符吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45374799/

10-12 20:39