使用 grepl 在 R 中获取匹配的字符串

Posted

技术标签:

【中文标题】使用 grepl 在 R 中获取匹配的字符串【英文标题】:Get matched String in R using grepl 【发布时间】:2022-01-17 10:54:45 【问题描述】:

我试图使用 Grepl 获取匹配的字符串。

代码

dt_test <- data.frame(
                a = c("ab","abcd", "poo", "abla", "ba"),
                id = c(1,2,3, 4,5)
)
grepl('^ab|^ao', dt_test$a)

它返回的是TRUE TRUE FALSE TRUE FALSE 但我想要 ro 打印匹配的字符串,例如 "ab","abcd", "abla"

【问题讨论】:

【参考方案1】:

使用 grep 并将 value 开关设置为 true:

grep('^a[bo]', dt_test$a, value=TRUE)

[1] "ab"   "abcd" "abla"

【讨论】:

以上是关于使用 grepl 在 R 中获取匹配的字符串的主要内容,如果未能解决你的问题,请参考以下文章

R语言应用substr函数和substring函数抽取(extract)删除(Remove)替换匹配(Match)特定的字符串并对比两个函数的异同grepl检查子字符串是否存在于字符串中

R:在列表中模式的grepl之后粘贴并组合来自ifelse的多个输出

R语言学习14-stringr包

使用 grepl 在 R 中提取子字符串

R中的快速部分字符串匹配

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