Freigeben über


Gewusst wie: Entfernen von ungültigen Zeichen aus einer Zeichenfolge

Im folgenden Beispiel wird die statische Regex.Replace-Methode verwendet, um ungültige Zeichen aus einer Zeichenfolge zu entfernen.

Beispiel

Sie können mit der in diesem Beispiel definierten CleanInput-Methode potenziell gefährliche Zeichen entfernen, die in ein Textfeld für Benutzereingaben eingegeben wurden. In diesem Fall entfernt CleanInput alle nicht alphanumerischen Zeichen außer Punkten (.), @-Zeichen und Bindestrichen (-) und gibt die verbleibende Zeichenfolge zurück. Sie können das Muster für reguläre Ausdrücke jedoch so ändern, dass alle Zeichen entfernt werden, die nicht in einer Eingabezeichenfolge enthalten sein sollen.

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\.@-]", ""); 
    }
}

Das Muster eines regulären Ausdrucks [^\w\.@-] entspricht jedem Zeichen, bei dem es sich nicht um ein Wortzeichen, einen Punkt, ein @-Zeichen oder einen Bindestrich handelt. Ein Wortzeichen ist ein beliebiger Buchstabe, eine Dezimalstelle oder eine Interpunktionsverbindung, z. B. der Unterstrich. Jedes Zeichen, das diesem Muster entspricht, wird durch String.Empty ersetzt, das die durch das Ersatzmuster definierte Zeichenfolge ist. Um zusätzliche Zeichen in der Benutzereingabe zu ermöglichen, fügen Sie diese Zeichen der Zeichenklasse im Muster für reguläre Ausdrücke hinzu. Beispielsweise lässt das Muster für reguläre Ausdrücke [^\w\.@-\\%] auch ein Prozentsymbol und einen umgekehrten Schrägstrich in einer Eingabezeichenfolge zu.

Siehe auch

Konzepte

Reguläre Ausdrücke von .NET Framework