黑马程序员技术交流社区

标题: 去掉字符串中重复的字符 [打印本页]

作者: 无云    时间: 2015-8-31 00:32
标题: 去掉字符串中重复的字符
public class QuChong {
    public static void main(String[] arg) {
        Qu("abcddedddabc");// 结果是 abcde
    }

    /**
     * 1、定义一个StringBuffer
     * 2、s.charAt(i)遍历、比较
     * 3、利用indexOf()跟LastindexOf()推断相同字符
     *
     *
     */
    public static void Qu(String s) {
        StringBuffer sb = new StringBuffer();
        int len = s.length();
        int i = 0;
        boolean flag = false;

        for (i = 0; i < len; i++) {
            char c = s.charAt(i);

            if (s.indexOf(c) != s.lastIndexOf(c)) {
                flag = false;
            }else{
                flag = true;
            }
            if(i==s.indexOf(c))
                flag=true;
            if (flag) {
                sb.append(c);
            }
        }
        System.out.print(sb.toString());
    }
}
作者: 迷途羔羊    时间: 2015-8-31 00:38
要写注释的啊
作者: 大大的大孩    时间: 2015-8-31 06:54
看不懂你写的,表述不清
作者: Ci功    时间: 2015-8-31 09:12
可以用正则表达式,更简单的哟!
  1. String reg = "(?s)(.)(?=.*\\1)";
  2.                 String str = "aabbdedsljslfjlabd";
  3.                 str = str.replaceAll(reg, "");
  4.                 System.out.println(str);
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2