2017-05-04 73 views
3

可以說我有一個載體,像這樣獲得從字符串的子串,當串在矢量定義

foo <- c('est','bel','cat') 

,然後我有一個字符串,像這樣:

str <- "test" 

我怎樣才能得到「EST」 要返回

+0

看起來好像你想要模糊字符串匹配。如果您在搜索解決方案時使用「模糊」(這裏和Google),您可能會發現一些有用的東西。 – r2evans

回答

0

which(sapply(foo, (function(x) grepl(x, str)))==T)

+1

或者只是'哪個(sapply(foo,grepl,str))' –

+0

'哪個'返回索引,而不是值。可以替換爲'foo [sapply(foo,grepl,str)]' –

1
library(stringr) 
foo[str_detect(str, foo)] 
#> [1] "est" 

並且當出現多個有效子串時:

foo <- c('est','bel','cat', 'tes') 
foo[str_detect(str, foo)] 
#> [1] "est" "tes" 
+0

不知道'stringr'的那個函數。尼斯。 – TheBiro