如标题:求一方法移除一段字符串中的非数字字符!

解决方案 »

  1.   

    下面是笨方法:            string str = string.Empty;  // 假设是字符串 str
                System.Text.StringBuilder sb = new StringBuilder();
                for(int k = 0; k < str.Length; k++)
                {
                    if(char.IsDigit(str[k]))
                    {
                        sb.Append(str[k]);
                    }
                }
                string newStr = sb.ToString();  // 去掉非数字字符后的字符
      

  2.   


            public string GetFormatStr(string str) 
            {
                char[] tmp = new char[str.Length];
                char[] s = str.ToCharArray();
                for (int i = 0, j = 0; i < str.Length; i++) 
                {
                    if (s[i] >= '0' && s[i] <= '9') 
                    {
                        tmp[j] = s[i];
                        j++;
                    }
                }            return new string(tmp);
            }
      

  3.   

    StringBuilder sb=new StringBuilder();
    foreach(char c in str.ToChararray()){
        if(char.IsDigt(c)) sb.Append(c);
    }
      

  4.   


    static void Main(string[] args)
            {
                string str = "dfjkk2335Dll3";            Match match = Regex.Match(str, "([0-9]+)");               Console.WriteLine(match.ToString());                   
                Console.ReadKey();           
            }
      

  5.   

     Regex.Replace(temp, "[^0-9]", "");
      

  6.   

    Regex r = new Regex("[\D]+");
    string target = "....";
    Macth m = r.Match(target);
    while(m.Succes)
    {
        string matchString= m.Value;
        target = target.Replace(macthString,"");
        m = r.Match(target);
    }
    ///done.