r - grep 多个模式并计算字符串 r 中有多少个

标签 r design-patterns count match

我有一个关于计算字符串中有多少个匹配模式的问题

例如, 我有一个数据框's'

index  string
1      'I have first and second'
2      'I have first'
3      'I have second and first and third'

和一个名为 toMatch 的匹配模式向量

toMatch <-  c('first', 'second', 'third')

我想要的最终结果是这样的:

string                              count
'I have first and second'           2
'I have first'                      1
'I have second and first and third' 3

现在我只能使用

grepl(paste(toMatch, collapse = "|"), s$string) 

它将返回哪个字符串与 toMatch 中的任何元素匹配,但我如何知道匹配了多少个元素?

任何帮助将不胜感激!提前致谢!

最佳答案

data.frame(string=s$string, count=rowSums(sapply(toMatch, function(x) grepl(x, s$string))))

关于r - grep 多个模式并计算字符串 r 中有多少个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36187103/

相关文章:

r - if/while(condition){: missing Value where TRUE/FALSE needed

Linq 通过计数进行分组

java - java中的回调行为

regex - Ansible:如何查找变量中出现的单词?

R:将增量编号分配给包含相同标签的行

r - 如何根据有序名称对 R 中的行进行子集化

r - 在密度图的顶部添加文本标签以标记不同的组

R:for 循环或 lapply 到命名列表的某些元素

c++ - 工厂方法创建的对象应该在哪里删除?

c# - 在 C# 中创建动态变量名称