java 对一个字符串去重,即去掉字符串内重复元素

时间:2023-03-09 07:29:17
java 对一个字符串去重,即去掉字符串内重复元素

String str ="abc|efa|abc|efa|abc"; 
String str1 = str.replaceAll("(?s)(.)(?=.*\\1)", ""); 
System.out.println(str1);

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