正则表达式删除重复的字符

时间:2012-11-18 19:25:55

标签: ruby

我有一个这样的字符串:

  

我得到了sooome screeeewy inpuuuuut

我需要将其标准化,除了其他处理之外,我需要删除所有重复的字符, 即soooome变为some,依此类推。

语法正确无关紧要。

2 个答案:

答案 0 :(得分:8)

你不需要正则表达式。只需使用str.squeeze

str = 'i got sooome screeeewy inpuuuuut'
=> "i got sooome screeeewy inpuuuuut"

str.squeeze
=> "i got some screwy input"

请参阅live demo here

答案 1 :(得分:1)

slivu的答案肯定是最简洁的,但如果你 使用正则表达式,你可以使用:

> 'i got sooome screeeewy inpuuuuut'.gsub(/(\w)\1+/, "\\1")
=> "i got some screwy input"