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

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

高洛峰
高洛峰asal
2017-01-16 11:09:551713semak imbas

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

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

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

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

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

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn