2013-04-10 47 views
4

我有一個字符串:AGREP中的R - 找到*所有*的字符串(全局標誌)比賽

string <- "I do not like green eggs and ham!" 

和模式

pattern <- "(egs|ham)" 

我想知道有多少次pattern匹配string模糊匹配(agrep)

gregexpr會爲正常匹配做到這一點 - 我只是想知道R中是否存在相應的garegexpr或者如何在不太重視性能的情況下模擬它。

aregexec將只返回第一個匹配的索引,「雞蛋」,並跳過「火腿」)。

+0

你找出答案了嗎? – Rico 2016-03-23 16:38:30

回答

-1

你沒有指定你需要base R,所以我很樂意建議使用Hadley Wickham的「stringr」包中的str_count(string,pattern)函數。

library(stringr) 
string <- "I do not like green eggs and ham!" 
pattern <- "(egs|ham)" 
str_count(string, pattern) 
[1] 1 

stringr真的是一個很棒的R包。充滿各種字符串的用處。

+0

這很好,但它不是模糊匹配。我使用'agrep'而不是'grep'(我已經可以使用'gregexpr'來模擬'str_count'),但是它有類似的功能。 – 2013-04-10 01:49:00