Java字符串去掉重复字符

例如:3dd2tt3去掉之后为3d2t32ccct3ffffee去掉之后为2cct3fffee准确点说,数字后多有重复的去掉一个重复的,其余的照样,非数字后的重复字符照样... 例如:
3dd2tt3去掉之后为3d2t3
2ccct3ffffee去掉之后为2cct3fffee
准确点说,数字后多有重复的去掉一个重复的,其余的照样,非数字后的重复字符照样(ee->ee)
末尾的意思是ee应该为ee,箭头被换行了···
还有忘写了··
字符是任意字符,可以不考虑一些符号类的。有连续相同的数字字符
比如:05dd322pp--->05d32p
展开
 我来答
manyfaces
2010-04-13 · TA获得超过1068个赞
知道小有建树答主
回答量:1808
采纳率:0%
帮助的人:979万
展开全部
package problem;

public class Nonrepeat {
public static String delRepeat(String str) {
char[] arr = str.toCharArray();
StringBuffer target = new StringBuffer();
boolean blDigit = false;
char nextChar = 0;
for (char c : arr) {
if (isDigit(c)) {
target.append(c);
blDigit = true;

} else if (!blDigit) {
target.append(c);
} else if (nextChar == 0 && blDigit) {
target.append(c);
nextChar = c;
} else if (blDigit && c != nextChar) {
target.append(c);
blDigit = false;
nextChar = 0;
} else if (blDigit && c == nextChar) {
blDigit = false;
nextChar = 0;
}
}
return target.toString();
}

private static boolean isDigit(char c) {
if (c > '0' && c < '9')
return true;
return false;

}

public static void main(String[] args) {
String s = "ss2ss15ddddsdf";
System.out.println(delRepeat(s));
}
}
80htm
2010-04-13 · TA获得超过712个赞
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:96.5万
展开全部
public class Demo {

public static String delDuplication(String s){
Pattern p = Pattern.compile("\\d([a-zA-Z0-9])\\1+");
Matcher m = p.matcher(s);
Stack<Integer> stack = new Stack<Integer>();
int end = 1;
while(m.find(end-1)){
end = m.end();
stack.add(m.start() + 1);
}
Integer index = 0;
while(!stack.isEmpty()){
index=stack.pop();
s = s.substring(0, index)+s.substring(index + 1);
}
return s;
}
public static void main(String[] args) {
String s = "2ccct3ffffee";
System.out.println(delDuplication(s));
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wu302791539
2010-04-14 · TA获得超过709个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:204万
展开全部
先把这些字符串用一个变量保存,然后转换成tochararray数组进行循环可以有contains进行判断是否有相同字符,用嵌套循环,随即改变数组值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小小啄
2010-04-22 · 超过11用户采纳过TA的回答
知道答主
回答量:101
采纳率:0%
帮助的人:0
展开全部
通过Map集合应该可以吧:把字符串的每个字符作为Map集合的Key,放入Map集合,然后再把Key重新组合成新的字符串,有兴趣可以试一下啊,看看是否是你想要的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式