关于截取字符

youlitai0116 2009-04-01 01:59:07
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]);
}

因为字段之间的空格数,第一列的长度都不一样多,所以第七列到底是在那个数组没发确定,我想怎么弄就能确定下来了呢?
...全文
75 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
youlitai0116 2009-04-01
  • 打赏
  • 举报
回复
对 刚自己看 msdn搞定 就是用楼上的方法!
zgke 2009-04-01
  • 打赏
  • 举报
回复
string[] arr = "123 123".Split(' ', StringSplitOptions.RemoveEmptyEntries);

如果你行信息都有数据可以这样..
jizhaoliang 2009-04-01
  • 打赏
  • 举报
回复
你好像用的都是负号,小数。你用正则表达式,挑出负数不就可了。你留意一下正则表达式。
具体的网上都有,你查找一下。
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;
}
这是引用。
qingye2008 2009-04-01
  • 打赏
  • 举报
回复
学习,
birdlonger 2009-04-01
  • 打赏
  • 举报
回复
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 ();
swalp 2009-04-01
  • 打赏
  • 举报
回复
高深,我学习学习
Kingsley726 2009-04-01
  • 打赏
  • 举报
回复
while (arr.IndexOf(" ") > -1)
{
arr= arr.Replace(" ", " ");
}
把所有的连续的两个空格用一个空格替代.然后splite. :)
occam 2009-04-01
  • 打赏
  • 举报
回复
用正则表达式匹配

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧