Deixar somente números em C#

Função para remover tudo que não sejam números de uma string, em c#

public static string OnlyNumbers(string toNormalize)
        {
            List numbers = new List("0123456789");
            StringBuilder toReturn = new StringBuilder(toNormalize.Length);
            CharEnumerator enumerator = toNormalize.GetEnumerator();

            while (enumerator.MoveNext())
            {
                if (numbers.Contains(enumerator.Current))
                    toReturn.Append(enumerator.Current);
            }

            return toReturn.ToString();
        }

Devido a alguns problemas que o código apresentou, refiz a validação direto em expressão regular

        public string OnlyNumbers(string toNormalize) 
        {  
            string resultString = string.Empty; 
            Regex regexObj = new Regex(@"[^\d]"); 
            resultString = regexObj.Replace(toNormalize, ""); 
            return resultString; 
        }

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *