使用JAVA中的正则表达式替换重复的字母

时间:2013-03-05 00:40:26

标签: java regex

假设我有一个字符串:

      String s = "hellllooooo howwwwwww areeeeeee youuuuuuu";

我想丢弃重复的字母并希望得到:

     "helloo howw aree youu"

我使用::

完成了匹配
        matches(".*([a-z])\\1{3,}.*"

但是如何将helloooooooo替换为helloo和其他人?

1 个答案:

答案 0 :(得分:4)

以下任何一项都会产生您想要的结果:

s = s.replaceAll("([a-z])\\1+", "$1$1");

s = s.replaceAll("(([a-z])\\2)\\2*", "$1");