Cómo: Quitar caracteres no válidos de una cadena
En el ejemplo de código siguiente se usa el método estático Regex.Replace para quitar caracteres no válidos de una cadena.
Ejemplo
Puede utilizar el método CleanInput definido en este ejemplo para quitar caracteres potencialmente dañinos especificados en un campo de texto que acepta datos proporcionados por el usuario. En este caso, CleanInput quita todos los caracteres no alfanuméricos excepto los puntos (.), los símbolos de arroba (@) y los guiones (-), y devuelve la cadena restante. Sin embargo, puede modificar el patrón de expresión regular para que quite cualquier carácter que no deba incluirse en una cadena de entrada.
Imports System.Text.RegularExpressions
Module Example
Function CleanInput(strIn As String) As String
' Replace invalid characters with empty strings.
Return Regex.Replace(strIn, "[^\w\.@-]", "")
End Function
End Module
using System;
using System.Text.RegularExpressions;
public class Example
{
static string CleanInput(string strIn)
{
// Replace invalid characters with empty strings.
return Regex.Replace(strIn, @"[^\w\.@-]", "");
}
}
El modelo de expresión regular [^\w\.@-] coincide con cualquier carácter que no sea un carácter alfabético, un punto, un símbolo @ o un guión. Un carácter alfabético es cualquier letra, dígito decimal o conector de puntuación como un subrayado. Cualquier carácter que coincida con este modelo es reemplazado por String.Empty, que es la cadena definida por el modelo de reemplazo. Para permitir caracteres adicionales en los datos proporcionados por el usuario, agregue esos caracteres a la clase de caracteres en el patrón de expresión regular. Por ejemplo, el patrón de expresión regular [^\w\.@-\\%] también permite un símbolo de porcentaje y una barra diagonal inversa en una cadena de entrada.