grepl()中如何使用运算符OR

Posted

技术标签:

【中文标题】grepl()中如何使用运算符OR【英文标题】:How use the operator OR in grepl () 【发布时间】:2022-01-02 04:22:57 【问题描述】:

我想在字符串中找出这 3 个单词中的至少一个(知道运算符 | 不起作用)。而且我还想设置ignore.case=TRUE

grepl(c("Cancer"|"Carcinome"|"Tumeur", c("cancer", "tuMeur", "Dysplasie", "Cancer", "Mesotheliome"),ignore.case=TRUE)

【问题讨论】:

试试grepl("Cancer|Carcinome|Tumeur", c("cancer", "tuMeur", "Dysplasie", "Cancer", "Mesotheliome"), ignore.case = TRUE) 【参考方案1】:

这样的事情应该可以工作。您需要在不创建向量的其他元素的情况下拆分 OR 条件。您还应该检查包裹stringr

thevector = c("cancer", "tuMeur", "Dysplasie", "Cancer", "Mesotheliome")
thepattern = paste0( c("Cancer", "Carcinome", "Tumeur"), collapse = "|")
grepl(thepattern, thevector, ignore.case=TRUE)
#> [1]  TRUE  TRUE FALSE  TRUE FALSE

由reprex package (v2.0.1) 于 2021 年 11 月 23 日创建

【讨论】:

以上是关于grepl()中如何使用运算符OR的主要内容,如果未能解决你的问题,请参考以下文章

使用grepl替换每个匹配的字符串时,如何简化以下代码?

运算符 OR 是不是对跟随它的参数的位置敏感

如何在 PHP 中使用 switch case 'or'

如何在 Node.js 中使用 Sequelize 运行 AND 和 Or 运算符

如何在 JS 中使用 AND 和 OR 运算符进行浏览器检测

Rails,我如何在它们之间使用“OR”运算符链接范围?