在 R 中,如何搜索包含在特定字符串中的字符向量元素?

In R, how can I search for the character vector element that is contained in a specific string?

我在 R 中有一个字符向量元素类似于:

[1] Deer  giraffe  hippopotamus lion       

和一个字符串,例如

a <- "ogiraffeps"

如何在字符串中包含模式的字符向量中找到元素的索引?我希望能够在不循环遍历字符向量的情况下执行此操作

我是 R 的新手,但似乎 grep 无法处理这个问题,因为它总是使用单个字符串(模式)来查看它是否包含在特征向量。但是,我想做的是找到字符串中包含的字符向量的一个元素。

stringr::str_detect 在模式上被矢量化:

library(stringr)
u <- c("Deer", "giraffe", "hippopotamus", "lion")
a <- "ogiraffeps"

str_detect(a, u)
# [1] FALSE  TRUE FALSE FALSE

因此你可以这样做:

match(1, str_detect(a, u))
# [1] 2