给出一个字符串"abcabc12345612ab";
能不能用正则表达式去除重复 字符,输出 "abc123456"的形式,我想用平衡组实现,不过没成功,有同学可以用正则找出来吗?

解决方案 »

  1.   

    string test_str = "abcabc12345612ab";
                    test_str = string.Join("", test_str.ToArray().Distinct());//abc123456
      

  2.   


    void Main()
    {
    string str="abcabc12345612ab";
     
    Regex reg = new Regex(@"((\w)\w*?)\2");while (str != (str = reg.Replace(str, "$1"))) { }Console.WriteLine(str);  //abc123456}
    //不过我还是建议你用LINQ来实现,这不是正则干的活~~~
      

  3.   

            Regex regex = new Regex(@"(\w)(?=.*?\1)");
            string str = "abcabc12345612ab";
            Response.Write(regex.Replace(str,""));
      

  4.   

    还请教大牛们指点下,使用LINQ的话怎么实现啊?
      

  5.   


     string str="abcabc12345612ab";
     str=new string(str.ToCharArray().Distinct().ToArray());