格式如下
1 0
2 12312,321312
3 321321,32323
4 4343,434334
....
14
第1列式序号 可以不要
   主要是要后面两列的值!和第一行的0
     求解  

解决方案 »

  1.   

    string s = File.ReadAllText(Server.MapPath("~/test.txt"));
    MatchCollection matches = Regex.Matches(s, @"(?<=\d+ +)\d+(,\d+)*");
    foreach (Match match in matches)
    {
    string[] values = match.Value.Split(',');
    foreach (string value in values)
    Response.Write(value + " ");
    Response.Write("<br/>");
    }
      

  2.   

    foreach (Match match in matches)不会进循环!  直接出去了 什么也没有
      

  3.   

    加断点看下string s = File.ReadAllText(Server.MapPath("~/test.txt"));
            MatchCollection matches = Regex.Matches(s, @"(?<=\d+ +)\d+(,\d+)*");
    是否有值?
      

  4.   

    用啥米正则,不用序号的话:先用空格分隔,再用逗号分隔了。foreach(var line in File.ReadAllLines("xxx.txt"))
    {
       var content = line.Split(new char[] {' '});
       var fields = content.Split(new char[] {','});
       foreach(var field in fields)
          Console.WriteLine(field);
       Console.WriteLine("-----------");
    }
      

  5.   

    var content = line.Split(new char[] {' '});改为var content = line.Split(new char[] {' '})[0];
      

  6.   

    拿到Emedit 或者 editplus里看看中间分隔的是 空格 还是 \t
      

  7.   

    JustACoder
    foreach (var line in File.ReadAllLines(WjNmae))
                    {
                        var content = line.Split(new char[] { ' ' })[0];
                        var fields = content.Split(new char[] { ',' });
                        foreach (var field in fields)
                            Console.WriteLine(field);
                        Console.WriteLine("-----------");
                    }
    这样能读取  但是怎么把前面的序号给去掉呢!?现在序号一起给读进去了 
      

  8.   

    line.Split(new char[] { ' ' })[0];改为 line.Split(new char[] { '\t' })[0]; 看看。上面说了,如果空格无法分隔,那么你中间的有可能是Tab