C#:关于字符串提取数字的弱智小问题
求从字符串中提取数字的方法
一个链接:比如:
面积16410平方千米。全市总人口为1492.7万人。
要取出数字16410和1492.7,
如果要用到正则表达式要怎么做?数字的位置、数量和长度是不固定的。
小数点的判断要怎么做?
如能附上代码更是感激不进
------解决方案--------------------System.Text.RegularExpressions.Match ma = System.Text.RegularExpressions.Regex.Match(textBox1.Text,@ "([0-9]*\.{0,1}[0-9]*) ");
while (ma.Success)
{
string m = ma.ToString();
if(m!=string.Empty) MessageBox.Show(m);
ma = ma.NextMatch();
}
------解决方案--------------------//string S = @ "面积16410平方千米。全市总人口为1492.7万人。 ";
string S = "整数1 浮点数 1.5 只有小数点.5 科学计数1.5e-5 负数-1.5 ";
foreach (Match vMatch in Regex.Matches(S,
@ "(\+|\-)?(\d+)?\.\d+((\+|\-)?e(\+|\-)?\d+)?|(\+|\-)?\d+ "))
{
Console.WriteLine(vMatch.Value);
}