字串去除重複字元(重複字元不保留)
/** * 去除重複字元(重複字元不保留) * @param s 原始字串 * @return 去重後的字串 */ public static String remove(String s){ //字串拆分陣列 char [] ss = s.toCharArray(); //識別符號(是否繼續判斷是否有重複) boolean flag = false; //接收去重後的字元 StringBuffer sb = new StringBuffer(); //開始判斷 do { //每次開始迴圈之前重置標識為false flag = false; //清空接收字串 sb = new StringBuffer(); //標識(是否有重複字元) boolean n = false; //迴圈查詢重複字元 for (int i = 0; i < ss.length; i++) { //存在重複字元 while (i < ss.length - 1 && ss[i] == ss[i+1] ) { //下標+1 i++; //本次迴圈結束後繼續進行下次迴圈判斷重複字元 flag = true; //存在重複字元 n = true; } //存在重複字元 if(n){ //重複字元後一位開始 i++; //重置標識 n = false; } //拼接去重字元 sb.append(ss[i]); } //陣列重新賦值 ss = sb.toString().toCharArray(); } while (flag); return sb.toString(); }