求从字符串中提取数字的方法
一个链接:比如:   
  面积16410平方千米。全市总人口为1492.7万人。
    
  要取出数字16410和1492.7,
如果要用到正则表达式要怎么做?数字的位置、数量和长度是不固定的。
小数点的判断要怎么做?如能附上代码更是感激不进

解决方案 »

  1.   

    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();
                }
      

  2.   

    //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);
    }