string a ="UAdd_1,UEdit_1,USee_1,UAdd_2,USee_2,UAdd_3,UEdit_3,USee_3,UAdd_4,UEdit_4,UDel_4,USee_4,UAdd_10,UEdit_10,UDel_10,USee_10";怎么把这段字符串拆分成:
UAdd_1,UEdit_1,USee_1
UAdd_2,USee_2
UAdd_3,UEdit_3,USee_3
UAdd_4,UEdit_4,UDel_4
UAdd_10,UEdit_10,UDel_10,USee_10

解决方案 »

  1.   


                string a = "UAdd_1,UEdit_1,USee_1,UAdd_2,USee_2,UAdd_3,UEdit_3,USee_3,UAdd_4,UEdit_4,UDel_4,USee_4,UAdd_10,UEdit_10,UDel_10,USee_10";
                Regex re = new Regex(@"(?i)[a-z]+_([0-9]+)(,[a-z]+_(\1))*");
                MatchCollection mc = re.Matches(a);
                foreach (Match  m in mc)
                {
                    Console.WriteLine(m.Value);
                }
    // 你要的结果
      

  2.   

    应该是用顺序去判断的吧,如果顺序不同就不行了哦类似这样就没办法显示我要的效果了:
    string a ="UAdd_1,USee_1,UAdd_2,USee_2,UEdit_1,UAdd_3,UEdit_3,USee_3,UAdd_4,UEdit_4,USee_4,UAdd_10,UEdit_10,UDel_10,USee_10,UDel_4";