在JAVA替换使用正则表达式重复字母
问题描述:
假设我有一个字符串,如:在JAVA替换使用正则表达式重复字母
String s = "hellllooooo howwwwwww areeeeeee youuuuuuu";
我要放弃重复的字母,并希望得到:
"helloo howw aree youu"
我已经用做匹配::
matches(".*([a-z])\\1{3,}.*"
但是我怎样才能取代helloooooooo helloo和其他人?
答
以下任何方式产生你想要的结果:
s = s.replaceAll("([a-z])\\1+", "$1$1");
s = s.replaceAll("(([a-z])\\2)\\2*", "$1");
+0
这正是我想要的..谢谢男人。 – Ronin 2013-03-05 09:13:53
如果我可能会问:我还没有在之前的正则表达式模式看到“\\ 1”,它有什么作用? – 2013-03-05 00:54:30
如何使用'for'?从索引0-s.length()跟踪? – 2013-03-05 00:57:58