字符处理问题,帮忙看下

MAKTY 2012-02-03 01:48:42
--------数据1-----------
- 10.0, g
ST,GS,- 10.0, g
ST,GS,- 10.0, g
ST,GS,- 10.0, g
ST,GS, 107.2, g
ST,GS, 107.2, g
ST,GS, 107.2, g
ST,GS, 107.2, g
ST,GS, 107.2, g
ST,GS, 107.2, g
ST,GS, 107.2, g
ST,GS, 107.2, g
ST,GS,- 10.0,
-------数据2-------------
, 118.0, g
ST,GS, 118.0, g
ST,GS, 118.0, g
ST,GS, 118.0, g
ST,GS, 118.0, g
ST,GS, 118.0, g
ST,GS, 118.0, g
ST,GS, 118.0, g
ST,GS, 118.0, g
ST,GS,

我上面这两组读数有没有简单点的办法取出数字类型的107.2或者-10.0这样的数

我现在都是字符匹配出来“ 118.0”或者“,- 10.0”然后再转换为数字。
有没更简单的办法

...全文
139 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
MAKTY 2012-02-03
  • 打赏
  • 举报
回复
谢谢【Return_false】 看来有空还得多看下正则的东西
  • 打赏
  • 举报
回复
 string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));
string pattern = @"(?i)(?<=ST.*?)(-\s*?)?\d+(\.\d+)?(?=.*?k?g)";
List<string> result_list = Regex.Matches(tempStr, pattern).Cast<Match>().Select(a => a.Value).Distinct().ToList();
MAKTY 2012-02-03
  • 打赏
  • 举报
回复
那个能不能帮忙改下以ST 开头” , g“ 或者“, kg”结尾,中间的数字取出来。
q107770540 2012-02-03
  • 打赏
  • 举报
回复

string pattern = @"(-\s*)?\d+(\.\d+)?";
List<int> result_list = Regex.Matches(tempStr, pattern).Cast<Match>().Select(a => int.Parse(a.Value)).Distinct().ToList();
  • 打赏
  • 举报
回复

string tempStr = File.ReadAllText(@"C:\Documents and Settings\Administrator\桌面\Test.txt", Encoding.GetEncoding("GB2312"));
string pattern = @"(-\s*?)?\d+(\.\d+)?";
List<string> result_list = Regex.Matches(tempStr, pattern).Cast<Match>().Select(a => a.Value).Distinct().ToList();
/*
[0] "- 10.0" string
[1] "107.2" string

*/
pmars 2012-02-03
  • 打赏
  • 举报
回复
我想到的是李勇正则给数字提取出来,但是还得转成数字,呵呵!所以没办法!

110,535

社区成员

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

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

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