Muchas veces al obtener datos de numeros de cuentas, cedulas, guias, codigos, etc. Cuando los tomas poseen caracteres especiales ya sea guiones, barras invertidas, parentesis etc. Una tarea que se hace manual y muy tediosa es quitar de un alfanumerico todo lo que no sea numero, buscando como automatizar este proceso me encontra con varias formulas en Excel,  pero resultan algo no muy practico y lento para nuestros gustos. Me dicidi a programar algo en C# contando con las expresiones regulares y la facilidad de utilizar el objeto clipboard. El programa toma el valor almacenado en el portapapeles, lo pega en el cuadro de texto y automaticamente convierte el alfanumerico en numerico extrayendo todo lo que no sea numero, pasando el resultado al portapapeles por lo que solo bastaria pegar donde vayas a utilizar el numero.

Primero que todo habria que incluir la referencia a las expresiones regulares:

using System.Text.RegularExpressions;

Luego ya quedaria crear el procedimiento de conversion:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
private void Convierte()
{
if (txtAlfanum.Text != String.Empty)  //Verifica que el cuadro no este vacio
{
string input = txtAlfanum.Text;  //Declara Variable donde almacenar el alfanumerico
string result = Regex.Replace(input, "[^0-9]+", string.Empty);  //Extrar con Expresiones Regulares Solo Numeros
txtNume.Text = result;   //Muestra el resultado en el cuadro de Texto
Clipboard.SetText(txtNume.Text);    //Envia Resultado al Portapapeles
}
}

Pueden Descargar el programa a traves del siguiente enlace:

http://goo.gl/ThSd3e

Cualquier observacion o comentario sientanse libre de hacerla. Saludos!