我遇到gsub功能问题。我需要删除重复的字符,但我正在使用的替换不起作用:
x <- 'loveeee'
gsub('([[:alpha:]])\\{2,}', '\\1', x)
对于重复两次以上的所有字符,我希望它们减少。在上面的例子中,我希望结果是'lovee'。
谢谢!
答案 0 :(得分:2)
你的代码有两个问题:(1)你在\\
之前有一个迷路{2,}
而且(2)[[:alpha:]]会匹配任何字母序列,而不仅仅是一个序列相同的字母。这是一种做我认为你想要的方式,使用反向引用\1
来说&#34;更多的字母像第一个&#34;:
gsub('([[:alpha:]])\\1{2,}', '\\1\\1', x)