Ich habe einen regulären Ausdruck, um eine Zeichenkette zu validieren. Aber jetzt möchte ich alle Zeichen entfernen, die nicht mit meinem regulären Ausdruck übereinstimmen.
z. B.
%Vor%Irgendwelche Ideen, wie ich die RegExpression benutzen kann, um die gültigen Zeichen zu bestimmen und alle anderen zu entfernen.
Vielen Dank
Ich glaube, Sie können das tun (Whitelist-Zeichen und alles andere ersetzen) in einer Zeile:
%Vor%Technisch wird es das erzeugen: "Dies ist ein Beispieltext mit einigen ungültigen Zeichen - +" Das ist etwas anders als Ihr Beispiel (der zusätzliche Abstand zwischen dem - und +).
Einfach so:
%Vor%Das Entfernen der nicht übereinstimmenden Zeichen ist dasselbe wie das Beibehalten der übereinstimmenden Zeichen. Das machen wir hier.
Wenn es möglich ist, dass der Ausdruck in Ihrem Text mehrere Male übereinstimmt, können Sie Folgendes verwenden:
%Vor%Danke an Ersetze Zeichen, wenn nicht Antwort, die ich habe erstellt eine Hilfsmethode um nicht akzeptierte Zeichen zu entfernen .
Das zulässige Muster sollte im Regex-Format sein, erwarten Sie, dass sie in eckigen Klammern eingeschlossen sind. Eine Funktion fügt nach dem Öffnen der Squere-Klammer eine Tilde ein. Ich gehe davon aus, dass es nicht für alle RegEx funktioniert, die gültige Zeichensätze beschreiben, aber es funktioniert für relativ einfache Sets, die wir verwenden.
%Vor%