Hallo Zusammen
Ich erstelle gerade eine Funktion die Sonderzeichen rausfiltern soll. Es funktioniert einwandfrei. Nur ein spezielles Sonderzeichen "" kommt immer durch wenn ich den Punkt hinzufüge mit "." an was kann das liegen?
ListUserData[i].Street = "Meine Straße^";
Regex regex = new Regex(@"[^a-z^0-9^ä^á^à^â^ã^ö^ó^ò^ô^ü^é^è^ë^í^ß^\-^\.]", RegexOptions.IgnoreCase);
if (regex.IsMatch(ListUserData[i].Street))
{
//gefunden
}
Danke für eure Hilfe
Das '^' ist ein Regex Steuerzeichen und bedeutet(Anfang der Zeile). Ich vermute das du dieses Zeichen ebenfalls escapen musst. Probier mal '^'
Lg XXX
Hallo xxxprod,
Das '^' ist ein Regex Steuerzeichen und bedeutet(Anfang der Zeile).
Innerhalb von eckigen Klammern hat ^ eigentlich nur als erstes Zeichen eine Sonderfunktion (Negation). Insofern müsste es auch ohne \ gehen, wobei der \ auch nicht schaden sollte.
herbivore
^.
Das schließt den Punkt als Sonderzeichen aus.
^^
sollte gehen
Es gibt 3 Arten von Menschen, die die bis 3 zählen können und die, die es nicht können...
Hallo kleines_eichhoernchen,
wie schon gesagt, hat ^ nur als erstes Zeichen innerhalb von eckigen Klammern eine Sonderfunktion.
Hallo live2,
das ist übrigens auch der Grund, warum das ^ durchkommt. Die Negation durch das ^ am Anfang wirkt auf alle weiteren Zeichen in den eckigen Klammen, also auch auf die weiteren ^. Entferne alle ^ außer dem ersten.
herbivore
@herbivore
Super nun funktioniert es. Ich dachte ich muss allen Zeichen die ich nicht will ein ^ voranstellen.
Vielen Dank für die Prompte Hilfe!