public class Test { public static void main(String[] args) { String str ="aaaaabbbbbcccdd"; str = str.replaceAll("(.)\\1+", "$1"); System.out.println(str); } }只能合并连续着相同的字符。
不连续的话,以我现在的水平没有办法采用正则表达式来做,只能采用普通的方法:public class Test {
public class w { public static void main(String[] args) { String s = "aasrtfgsadddppoyiutrjgnhgggdfffsdderrrruuubnvmcccvv"; String ss=""; char[] ch = s.toCharArray(); TreeSet set = new TreeSet(); for(char c : ch) { set.add(String.valueOf(c)); } Object[] ch2 = set.toArray(); for(Object o : ch2) { ss = ss + o; } System.out.println(ss); } }
public static void main(String[] args) {
String str ="aaaaabbbbbcccdd";
str = str.replaceAll("(.)\\1+", "$1");
System.out.println(str);
}
}只能合并连续着相同的字符。
public static void main(String[] args) {
String str ="aaaaabbbbbcccddaaaddee";
System.out.println(mergeChar(str));
}
private static String mergeChar(String str) {
char[] chars = str.toCharArray();
StringBuffer sb = new StringBuffer();
for(int i = 0; i < chars.length; i++) {
if(sb.indexOf(chars[i]+"") < 0) {
sb.append(chars[i]);
}
}
return sb.toString();
}
}
{ public static void main(String[] args)
{
String s = "aasrtfgsadddppoyiutrjgnhgggdfffsdderrrruuubnvmcccvv";
String ss="";
char[] ch = s.toCharArray();
TreeSet set = new TreeSet();
for(char c : ch)
{
set.add(String.valueOf(c));
}
Object[] ch2 = set.toArray();
for(Object o : ch2)
{
ss = ss + o;
}
System.out.println(ss); }
}