2017-04-10 28 views
2

我中的R類似於一個字符向量元素:在R中,如何搜索包含在特定字符串中的字符向量元素?

[1] Deer giraffe hippopotamus lion  

和一個字符串,如

a <- "ogiraffeps" 

如何找到具有包含在圖案中的字符向量的元素的索引在我的字符串?我希望能夠做到這一點,而無需通過字符矢量循環

我是新來的R,但似乎grep的不能處理這個,因爲它總是使用一個字符串(模式),看看是否它包含在一個字符向量中。但是,我想要做的是找到包含在字符串中的字符向量的元素。

回答

1

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 
+0

感謝。我如何使這個大小寫不敏感? – ag14

+0

@ ag14:'str_detect(a,regex(u,ignore_case = TRUE))' – Scarabee

相關問題