wake-up-neo.com

Regex alle Sonderzeichen außer Zahlen entfernen?

Ich möchte alle Sonderzeichen (außer Zahlen) aus einer Zeichenfolge entfernen. Ich konnte so weit kommen

var name = name.replace(/[^a-zA-Z ]/, "");

aber es scheint, dass es die erste Zahl entfernt und alle anderen verlässt. 

Zum Beispiel:

name = "collection1234"; //=> collection234

oder 

name = "1234567"; //=> 234567
17
EHerman

Verwenden Sie die globale Flagge:

var name = name.replace(/[^a-zA-Z ]/g, "");
                                    ^

Wenn Sie keine Nummern entfernen möchten, fügen Sie sie der Klasse hinzu:

var name = name.replace(/[^a-zA-Z0-9 ]/g, "");
35
Jerry

Versuchen Sie, die Sonderzeichen zu entfernen

var name = name.replace(/[[email protected]#$%^&*]/g, "");
14
T-Dor

Wenn es Ihnen nichts ausmacht, den Unterstrich als zulässigen Zeichen zu verwenden, können Sie einfach Folgendes versuchen:

result = subject.replace(/\W+/g, "");

Wenn der Unterstrich auch ausgeschlossen werden muss, dann

result = subject.replace(/[^A-Z0-9]+/ig, "");

(Beachten Sie die Groß-/Kleinschreibung)

5
Ron Rosenfeld

Das sollte auch funktionieren

text = 'das Auto? war groß und * rot! '

newtext = re.sub ('[^ a-z0-9]', '', Text)

drucken (neuer text)

das Auto war groß und rot

0
David Miller