首页  >  文章  >  Java  >  用Java正则去掉字符串中重复出现的字符

用Java正则去掉字符串中重复出现的字符

高洛峰
高洛峰原创
2017-01-16 11:09:551708浏览

String str = "abcdeabcdeabcdeaaaaaadddddceeeeabcccccccacadaeec"; 
str = str.replaceAll(reg, ""); 
System.out.println(str); 

str = str.replaceAll("(?s)(.)(?=.*\\1)", ""); 
(?s)(.)(?=.*\1) 

(?s) 开启单行模式 DOTALL 让. 号匹配任意字符 
(.) 任意字符 并捕获在第一组 
(?=.*\1) 这是断言, 表示后面内容将是 任意个字符加上第一组所捕获的内容 

这样子,如果这整个式子匹配到,表示,第一个捕获组内容在字符串中,至少出现两次,替换为 "" 空串. 

进行 全局替换后, 整个字符串所出现的字符将不重复。

更多用Java正则去掉字符串中重复出现的字符相关文章请关注PHP中文网!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn