尝试删除重复的字符时gsub替换不起作用

时间:2014-07-31 13:53:53

标签: r gsub

我遇到gsub功能问题。我需要删除重复的字符,但我正在使用的替换不起作用:

x <- 'loveeee'

gsub('([[:alpha:]])\\{2,}', '\\1', x)

对于重复两次以上的所有字符,我希望它们减少。在上面的例子中,我希望结果是'lovee'。

谢谢!

1 个答案:

答案 0 :(得分:2)

你的代码有两个问题:(1)你在\\之前有一个迷路{2,}而且(2)[[:alpha:]]会匹配任何字母序列,而不仅仅是一个序列相同的字母。这是一种做我认为你想要的方式,使用反向引用\1来说&#34;更多的字母像第一个&#34;:

gsub('([[:alpha:]])\\1{2,}', '\\1\\1', x)