替换字符重复3次以上

时间:2016-03-13 15:29:33

标签: regex r

在R中,如何仅用1或2次重复的字符替换重复3次或更多次的字符?

例如,cakkkkkkkkkkkkkkkeeeeeee变为cakecakkee。另一个例子是zzzzzzzzz,变成z或zz。

1 个答案:

答案 0 :(得分:4)

我们可以尝试

gsub("(.)\\1{2,}", "\\1", str1)
#[1] "cake"  "z"     "zzaab"

数据

str1 <- c("cakkkkkkkkkkkkkkkeeeeeee", "zzzzzzzzz", "zzaab")