Laden...

Regex Problem mit Sonderzeichen erkennung ^

Erstellt von live2 vor 14 Jahren Letzter Beitrag vor 14 Jahren 1.111 Views
L
live2 Themenstarter:in
34 Beiträge seit 2005
vor 14 Jahren
Regex Problem mit Sonderzeichen erkennung ^

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

1.378 Beiträge seit 2006
vor 14 Jahren

Das '^' ist ein Regex Steuerzeichen und bedeutet(Anfang der Zeile). Ich vermute das du dieses Zeichen ebenfalls escapen musst. Probier mal '^'

Lg XXX

49.485 Beiträge seit 2005
vor 14 Jahren

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

3.971 Beiträge seit 2006
vor 14 Jahren

^.

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...

49.485 Beiträge seit 2005
vor 14 Jahren

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

L
live2 Themenstarter:in
34 Beiträge seit 2005
vor 14 Jahren

@herbivore

Super nun funktioniert es. Ich dachte ich muss allen Zeichen die ich nicht will ein ^ voranstellen.

Vielen Dank für die Prompte Hilfe!