6            星期2 13:40:05   113.0653129   22.9872712    822.295      -2.4           4.1           72.9 
 7            星期2 13:40:11   113.0670387   22.9877182    823.331      -1.1           3.4           75.7 
 8            星期2 13:40:17   113.0687554   22.9880929    824.181      -2.5           2.5           76.9 
 9            星期2 13:40:23   113.0703994   22.9884535    824.004      -.9            2.9           77 
 10           星期2 13:40:29   113.0721738   22.9888197    822.724      -1.2           .9            77.6 
像这样的文本,我怎么截取出第七列的数字呢?  
我这样写:
  string str = sr.ReadLine();        // 读取文件
             string[] arr = str.Split(new string[] { "    " }, StringSplitOptions.None);
           if (Convert.ToInt32(arr[0]) == Convert.ToInt32(name))
            {
                        cebai = Convert.ToDouble(arr[5]);
            }
             
         因为字段之间的空格数,第一列的长度都不一样多,所以第七列到底是在那个数组没发确定,我想怎么弄就能确定下来了呢?  

解决方案 »

  1.   

                while (arr.IndexOf("  ") > -1)
                {
                    arr= arr.Replace("  ", " ");
                }
    把所有的连续的两个空格用一个空格替代.然后splite. :)
      

  2.   

                string string7 = "6     星期2 13:40:05  113.0653129  22.9872712    822.295  -2.4   4.1   72.9";
                string regexsplit = @"\s+";           
                Regex r = new Regex (regexsplit );
                string[] ss = r.Split(string7);
                Console.WriteLine (ss[6]);  // 输出-2.4  ;
                Console .ReadLine (); 
      

  3.   

    你好像用的都是负号,小数。你用正则表达式,挑出负数不就可了。你留意一下正则表达式。
    具体的网上都有,你查找一下。
    System.Text.RegularExpressions.Regex rg = new System.Text.RegularExpressions.Regex("^[0-9]*$");//匹配(0-9)
                if (!rg.IsMatch(this.comboBox12.Text))
                {
                    MessageBox.Show("请输入0-9的整数数字!");
                    this.comboBox12.Focus();
                    return;
                }
    这是引用。
      

  4.   

    string[] arr = "123 123".Split(' ', StringSplitOptions.RemoveEmptyEntries);如果你行信息都有数据可以这样..
      

  5.   

    对 刚自己看 msdn搞定 就是用楼上的方法!