2 zengyang105 zengyang105 于 2015.07.17 08:57 提问

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

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

6个回答

danielinbiti
danielinbiti   Ds   Rxr 2015.07.17 09:13
 String str = "abaabcaaaad";
        String ret = str.replaceAll("[a]+", "a");//替换字符a
        System.out.println(ret);
xiaohezi003
xiaohezi003   2015.07.17 09:11

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

zengyang105
zengyang105 我觉得编一个正则表达式来匹配 更好一点呢。。我试试您的方法 谢谢
2 年多之前 回复
zengyang105
zengyang105 我觉得编一个正则表达式来匹配 更好一点呢。。我试试您的方法 谢谢
2 年多之前 回复
CSDNXIAOD
CSDNXIAOD   2015.07.17 08:59

用正则表达式判断字符重复
将字符串中指定字符替换成其他不同字符
用正则表达式删除重复字符
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

guwei4037
guwei4037   Ds   Rxr 2015.07.17 09:17
tongyi55555
tongyi55555   2015.07.17 09:36

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

zengyang105
zengyang105   2015.07.17 11:11

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

Csdn user default icon
上传中...
上传图片
插入图片