将字符串重复的字符替换成单个字符的正则表达式

java怎么样将字符串中重复的字符替换成单个字符的正则表达式

0

5个回答

 String str = "abaabcaaaad";
        String ret = str.replaceAll("[a]+", "a");//替换字符a
        System.out.println(ret);
2

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);

1
zengyang105
Tao-yangZeng 我觉得编一个正则表达式来匹配 更好一点呢。。我试试您的方法 谢谢
接近 4 年之前 回复
zengyang105
Tao-yangZeng 我觉得编一个正则表达式来匹配 更好一点呢。。我试试您的方法 谢谢
接近 4 年之前 回复
0

danielinbiti给的答案很好,如果不知道哪个字符是重复的,可以遍历一遍,如果前后两个字符相等,即可将其作为需要修改的a存储在list,然后再对list中所有值执行上述操作。

0

这样 只 适用于 单个字符重复啊,如果多个字符重复呢

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!