C#关于正则匹配并提取txt文件中正负小数的问题

C#关于正则匹配并提取txt文件中正负小数的问题,第1张

把用正则判断中文和小数的那一段程序改一下就行了.

你的C#程序我帮你改好了,你看看吧(改动的地方见注释,我测试过了,没问题)

private void button2_Click(object sender, EventArgs e) { 

 string f 

 if (openFileDialog1.ShowDialog() == DialogResult.OK) { 

  f = openFileDialog1.FileName 

 } 

 string lineread=string.Empty  

 string curFileName 

 curFileName = openFileDialog1.FileName 

 StreamReader sr = new StreamReader(curFileName) 

 double[] wfwys = new double[12] 

 int p = 0 

 while ((lineread = sr.ReadLine()) != null) { 

  lineread = sr.ReadLine() 

  lineread = Convert.ToString(lineread) 

  MatchCollection mt=Regex.Matches(lineread, @"[\u4e00-\u9fa5]")//这里用Matches匹配,如果有一个汉字,则匹配成功.汉字的unicode编码是4e00到9fa5

  if (mt.Count==0) { //如果没有汉字的行

   MatchCollection mc=Regex.Matches(lineread, @"[+\-]?\d+\.\d+")//这里用Matches匹配,如果有小数,则匹配成功.因为小数不是一整行,所以去掉^和$

   if (mc.Count>0) {//如果有小数的行

    //Match substring = Regex.Match(lineread, @"[+-]?\d+\.\d+")//这里去掉这句,因为上面有匹配结果mc了

    foreach (Match m in mc){  //这里遍历mc,因为一行只有一个小数,所以一行存一个小数到wfwys数组

     wfwys[p] = double.Parse(m.Groups[0].Value) //这里把substring.Value改成m.Groups[0].Value

     p++ 

    }

   } 

  } 

 } 

 textBox2.Text = Convert.ToString(wfwys[0])  

 textBox3.Text = Convert.ToString(wfwys[1]) 

 textBox4.Text = Convert.ToString(wfwys[2])

工具:

chrome浏览器

方法如下:

1、首先,检查Chrome设置,点击Chrome浏览器右上角菜单,点击设置。

2、启动时,设置为:打开新标签页。或者点击“打开特定网页或一组网页”,进行手动设置,设置希望的主页。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12043652.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存