很久没有写正则了,网上搜索了一下,总没有找到合适的。望高手们速度解救求一个字符串中的所有数字,包括其中的 负号,小数
 
如 asd-2.345mdt   结果应该是 -2.345
如 sdfg0.234mt    结果应该是 0.23
如 sdlfjk234kk5   结果应该是 2345简单吧

解决方案 »

  1.   

    如 sdlfjk234kk5 结果应该是 2345
    取完组合起来?那如果sdlfjk234kk-5怎么办?
      

  2.   


                string str = "asd-2.345mdt";            Regex reg = new Regex(@"(-?)[0-9]+(\.[0-9]+)?");            foreach (Match m in reg.Matches(str))
                    Console.WriteLine(m.Value);
      

  3.   

    只要一个数字。取出来是一个数字
    如 sdlfjk234kk5 结果应该是 2345
    这种情况基本上都没有
    那如果sdlfjk234kk-5怎么办?这中就更没有了
    其实,这个数值时连起来的
      

  4.   

    如 sdfg0.234mt 结果应该是 0.23
    如 asd-2.345mdt 结果应该是 -2.345
    纯小数只取后两位..?
      

  5.   

    这个对于dlfjk234kk5
    结果是
    234
    5
    拼接下就可以了...
      

  6.   

    大哥,这貌似没有对哦
    我取来需要的结果就是给以Float的变量
      

  7.   

    float f = Convert.ToSingle(m.Value.ToString()));
    //转换下...
      

  8.   

    哦,我搞反了晕死3楼对了drogValue = Regex.Replace(drogValue, @"(-?)[0-9]+(\.[0-9]+)?","");我这样去了