java怎么样将字符串中重复的字符替换成单个字符的正则表达式
char[] arr = new char[s.length()];
int j = 0;
outer:
for(int i=0;i<s.length();i++) {
char c = s.charAt(i);//字符串的每个字符
for(int k=0;k<j;k++) {//在j之前找重复
if(c == arr[k]) {//找到重复
continue outer;//跳到i++处理下一个
}
}
arr[j++] = c;//没有重复,放入j位置,j后移
}
arr = Arrays.copyOf(arr, j);
s = new String(arr);
String str = "abaabcaaaad";
String ret = str.replaceAll("[a]+", "a");//替换字符a
System.out.println(ret);
http://bbs.csdn.net/topics/190082265
danielinbiti给的答案很好,如果不知道哪个字符是重复的,可以遍历一遍,如果前后两个字符相等,即可将其作为需要修改的a存储在list,然后再对list中所有值执行上述操作。
这样 只 适用于 单个字符重复啊,如果多个字符重复呢