爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5663|回复: 7

如下字符串,如何简化代码提取出数字?

[复制链接]

新浪微博达人勋

发表于 2019-2-21 17:38:34 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
如下字符串:

strR="returnCode="0" returnMessage="Query Succeed" rowCount="50" colCount="3" requestParams="minstaid=xxxxx&limitcnt=50×=20190217000000&datacode=xxxxxxxx&maxstaid=xxxxxxx&elements=Station_Name,Station_Id_C,PRE_3h"


我提取数字的代码如下:
            String[] strData = strR.Split (new string[] { "\r\n" }, StringSplitOptions.None);
            String[] strRowCol= strData[0].Split(new string[] { "Count=" }, StringSplitOptions.None);
            String[] strRow = strRowCol[1].Split(new string[] { " " }, StringSplitOptions.None);
            String[] strCol = strRowCol[2].Split(new string[] { " " }, StringSplitOptions.None);
            String sRow = System.Text.RegularExpressions.Regex.Replace(strRow[0], @"[^0-9]+", "");//取得“50”
            String sCol = System.Text.RegularExpressions.Regex.Replace(strCol[0], @"[^0-9]+", "");//取得“3”

各位大侠,还有其它快速取出字符串中: rowCount="50" colCount="3"  数字50 和3吗?

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-2-21 19:56:49 | 显示全部楼层

回帖奖励 +10 金钱

所谓速度快,关键看你的原始数据到底是怎么组成的呀,甚至可以把“rowCount=”当作间隔符啊,那不更快
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2019-2-21 21:12:53 | 显示全部楼层
cqcswky 发表于 2019-2-21 19:56
所谓速度快,关键看你的原始数据到底是怎么组成的呀,甚至可以把“rowCount=”当作间隔符啊,那不更快

谢谢你的意见。
想减少代码行的简化,又进一步优化了:
            String[] strData = strR.Split (new string[] { "\r\n" }, StringSplitOptions.None);
            String[] strRowCol = strData[0].Split(new string[] { "=" }, StringSplitOptions.None);
            int iRow = ParseInt(System.Text.RegularExpressions.Regex.Replace(strRowCol[3], @"[^0-9]+", ""));
            int iCol = ParseInt(System.Text.RegularExpressions.Regex.Replace(strRowCol[4], @"[^0-9]+", ""));
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2020-7-21 11:02:28 | 显示全部楼层

回帖奖励 +10 金钱

CIMISS数据的话,建议直接返回为json,不过要先引用Newtonsoft.Json.dl,这样读取会更明了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-9-13 10:33:32 | 显示全部楼层

回帖奖励 +10 金钱

这个字符串看着怎么不太对劲
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-4-9 18:34:25 | 显示全部楼层

回帖奖励 +10 金钱

我也不会,只能帮你顶起来
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 成长值: 0
发表于 2022-7-30 11:57:35 | 显示全部楼层

回帖奖励 +10 金钱

顶一顶!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2023-2-14 10:58:44 | 显示全部楼层
学习了
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表