求字符串所有重复两次以上字符

        static void Main(string[] args)
        {
            string mete = "aaaassdsfdgfezdxcrgrefsdfdsgdfdfdfsagdfbhdfbtfffgrrssdsdasfcccdghhh";
            int s=0;
            for (int i = 0, l = mete.Length; i < l; i=s)
            {
                 s= i;
                 int num = RecursionMaxRepate(mete, mete[i], ref s);
                if (num>1)
                {
                    Console.WriteLine("{0}:{1}", mete[i], num);
                }
            }
            Console.ReadKey();
        }

        static int RecursionMaxRepate(string m, char c, ref int s)
        {
            int sum = 0;
            if (c == m[s] && (s)<m.Length)
            {
                s += 1;
                if (s >= m.Length)
                {
                    return sum+1;
                }
                sum += RecursionMaxRepate(m, c, ref s) + 1;
            }
            else if(c!=m[s])
            {
                return sum;
            }

            return sum;
        }
        static void FetchRepate(string s)
        {
            for (int i = 0, l = s.Length; i < l; i++)
            {
                char c = s[i];
                int r = 0;
                int ii = i + 1;
                for (; ii < l; ii++)
                {
                    if (c == s[ii])
                    {
                        r++;
                    }
                    else
                    {
                        break;
                    }
                }
                if (r > 0)
                {
                    Console.WriteLine("{0}:{1}", c, r+1);
                    i = ii-1;
                }
            }
        }

Posted by m1rf539w 2012年5月29日 08:51