c#中,如何通过正则表达式(或其他方法)获取字符串中数字?例如:北京天安门到人民大会堂向东走500.943 100

c#中,如何通过正则表达式(或其他方法)获取字符串中数字?例如:北京天安门到人民大会堂向东走500.9434324米,在第二个路口向东走789.3434324324米;如... c#中,如何通过正则表达式(或其他方法)获取字符串中数字?例如:北京天安门到人民大会堂向东走500.9434324米,在第二个路口向东走789.3434324324米;如何获取这句话里的数字,并把这些数字转为整数或保留一位数字; 展开
 我来答
蔡德江
2012-05-03 · TA获得超过3187个赞
知道大有可为答主
回答量:1700
采纳率:0%
帮助的人:1432万
展开全部
string s = "北京天安门到人民大会堂向东走500.9634324米,在第二个路口向东走789.3434324324米";
string str1 = string.Empty;
string[] str = s.Split(',');
for (int i = 0; i < str.Length; i++)
{
str[i] = Regex.Replace(str[i], @"[^\d.]*", "");
}
foreach (string a in str)
{
double i = Math.Round(Convert.ToDouble(a), 0, MidpointRounding.AwayFromZero);//转化为整数
Console.WriteLine(i.ToString());
}
foreach (string a in str)
{
double i = Math.Round(Convert.ToDouble(a), 1, MidpointRounding.AwayFromZero);//保留一位小数
Console.WriteLine(i.ToString("0.0"));
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
草薙在
2012-05-03 · TA获得超过4795个赞
知道大有可为答主
回答量:6187
采纳率:50%
帮助的人:6299万
展开全部
(from Match m in Regex.Matches(@"北京天安门到人民大会堂向东走500.9434324米,在第二个路口向东走789.3434324324米",@"\d+\.\d+")
select Math.Round(double.Parse(m.Value),1)).ToArray()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
BraveHeart_Fov
2012-05-03 · TA获得超过7942个赞
知道小有建树答主
回答量:1037
采纳率:0%
帮助的人:681万
展开全部
取字符串中数字类型的自定义函数
CREATE function dbo.F_Get_No
(
@No varchar(100)
)
RETURNS INT
AS
BEGIN
WHILE PATINDEX('%[^0-9]%',@No)>0
BEGIN
SET @No=STUFF(@No,PATINDEX('%[^0-9]%',@No),1,'')
END
RETURN CONVERT(INT,@No)
END
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-05-03
展开全部
试试看:System.Text.RegularExpressions.Regex.Replace(yourstring, @"[^\d]*", "")
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式