关于在给定向量中查找字符串

时间:2014-08-07 21:57:36

标签: r

给定一个字符串,如xyz和一个字符串向量,如

abc
xyz
cde
fgh
xyz

是否有一个函数可以在此向量中输出xyz的位置,这里它应该是(2,5);以及发生次数,这里应该是2.

2 个答案:

答案 0 :(得分:0)

library(stringr)
yourlist = c("abc", "xyz", "cde", "fgh", "xyz")
which(str_detect(yourlist, "xyz"))

这将返回2和5.

答案 1 :(得分:0)

另一种方法,基础R:

regmatches(yourlist, gregexpr(pattern = "xyz", text = yourlist,ignore.case = TRUE, perl = TRUE))
[[1]]
character(0)

[[2]]
[1] "xyz"

[[3]]
character(0)

[[4]]
character(0)

[[5]]
[1] "xyz"

输出更长,但它也确认找到的内容(“xyz”)和位置