正则表达式 – 在R中查找序列中重复的字符

前端之家收集整理的这篇文章主要介绍了正则表达式 – 在R中查找序列中重复的字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
例如,我有一个字符串
"AAAAAAACGAAAAAACGAAADGCGEDCG"

我想算一下CG重复的次数.
我怎么做?

您可以使用gregexpr在vec中查找“CG”的位置.我们必须检查是否没有匹配(-1).函数sum计算匹配数.
> vec <- "AAAAAAACGAAAAAACGAAADGCGEDCG"
> sum(gregexpr("CG",vec)[[1]] != -1)
[1] 4

如果你有一个字符串向量,你可以使用sapply:

> vec <- c("ACACACACA","GGAGGAGGAG","AACAACAACAAC","GGCCCGCCGC","TTTTGTT","AGAGAGA")
> sapply(gregexpr("CG",vec),function(x) sum(x != -1))
[1] 0 0 0 2 0 0

如果你有一个字符串列表,你可以使用unlist(vec),然后使用上面的解决方案.

猜你在找的正则表达式相关文章