比如我txt文本里的值是类似于3,3,3,3,3,3,6(2),6(2),这样的数据
怎么才能分开获取例如6(2)里的数值6和2呢?
新手,麻烦大家指导下

解决方案 »

  1.   

    基本是楼上的思路,先用SPLIT用“,”分开,在对这个数组里面的每一项都用“(”,“)”再split一次就可以了吧。
      

  2.   

    我能想到的算法:1 通过逗号split,
    2 扫描split出来的数组中的每个项
    3 如果有存在括弧,记录左右括弧的位置,substring出里面的东西。坐等大师,看看是不是可以正则
      

  3.   

    stmp.Split(new char[] { ',' });
    这样已经分离出来,之间的值
    再怎么可以分离出6(2)这里的6和2呢?
      

  4.   

                string str = "3,3,3,3,3,3,6(2),6(2),";
                Regex reg = new Regex(@"(\d+)\(([^\)]+)\)");
                foreach (Match m in reg.Matches(str))
                    Console.WriteLine(m.Groups[1].Value+"=="+m.Groups[2].Value);
      

  5.   


    string pattern = @"\(\S\)";   
                string data = "3,3,3,3,3,3,6(2),6(4)";            MatchCollection mc = Regex.Matches(data, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled);                         foreach (Match m in mc)
                {
                    string s = m.Value;
                    string value = s.Substring(s.IndexOf('(') + 1, s.IndexOf(')') - 1);
                }
      

  6.   


    不好意思 我看错题目了 
     string str = "3,3,3,3,3,3,6(2),6(2),";
                Regex reg = new Regex(@"(\d+)\(([^\)]+)\)");
                foreach (Match m in reg.Matches(str))
                    Console.WriteLine(m.Groups[1].Value+"=="+m.Groups[2].Value);
    这个是对的