private string[] Split(string input, string flag)
        {
            int e_point = 0;
            int s_point = 0;
            int len = flag.Length;
            List<string> list = new List<string>();            if (input.StartsWith(flag)) input = input.Substring(len);
            if (input.EndsWith(flag)) input = input.Substring(0, input.Length - len);            while ((e_point = input.IndexOf(flag, s_point + 1)) != -1)
            {
                int tmp = s_point == 0 ? 0 : len;
                list.Add(input.Substring(s_point + tmp, e_point - s_point - tmp));
                s_point = e_point;
            }            if (s_point == 0)
                list.Add(input);
            else
                list.Add(input.Substring(s_point + len));            return list.ToArray();
        }
代码如上,功能已实现,先分享下,并求更好算法200分奉上,呵呵