发布网友
共1个回答
热心网友
方案A:把连续的2个分号替换成一个,要反复替换直到没有为止
String s = "艾迪;好的的的;美女;是的的;同样;;;;;;干啥"; do { s = s.replaceAll(";;", ";");} while(s.indexOf(";;") >= 0);System.out.println(s);
方案B:从前向后分析每个字符,重复的忽略掉
String s = "艾迪;好的的的;美女;是的的;同样;;;;;;干啥"; StringBuilder builder = new StringBuilder();char lastChar = '\0';for(int i = 0;i < s.length();++i) { char c = s.charAt(i); if(c == ';') { if(c != lastChar) builder.append(c); lastChar = c; } else { lastChar = c; builder.append(c); }}System.out.println(builder.toString());