在R中查找多个字符串内匹配

时间:2015-10-05 09:49:04

标签: regex r grep

正如标题所说,我希望在更大的字符串中找到并计算目标字符串的多个匹配项。例如......

    # looking for 
    target <- "zoo"
    # in this
    word <- "zoozoo"

我尝试了一些不同的东西,比如......

    regexpr(target, word)

...和...

   regmatches(word, regexpr(target, word))

但这些都找不到两个子串,即"zoo""zoo"。我正在尝试写一些能找到并计算所有比赛的东西,我想要做的事情会有多个。

非常感谢您的帮助。

2 个答案:

答案 0 :(得分:3)

您可以使用str_count来计算所有匹配的事件。

library(stringr)
str_count(word, target)

答案 1 :(得分:2)

如果您需要子串的位置和计数,您可以尝试

positions <- unlist(gregexpr(target, word))
count <- length(positions)