Regex zum Ersetzen aller Sonderzeichen und Leerzeichen in einem String durch Bindestriche

8

Ich habe eine Zeichenfolge, in der ich alle Sonderzeichen ersetzen muss "~! @ # $% ^ & amp; * () _ + = '{} [] |:;' & lt; & gt;,. /? " und Leerzeichen mit Bindestrichen. Mehrere Sonderzeichen in einer Zeile sollten einen einzelnen Bindestrich ergeben.

%Vor%

Zurzeit verwende ich diese Reihe von replace() -Aufrufen:

%Vor%

Aber es gibt das aus:

%Vor%

Dabei wird für jedes Sonderzeichen in der Zeichenfolge ein Bindestrich hinzugefügt, mit Ausnahme des Schrägstrichs.

    
user2643287 21.09.2013, 19:06
quelle

2 Antworten

13

Ich würde vorschlagen:

%Vor%

JS Fiddle-Demo .

    
David Thomas 21.09.2013, 19:35
quelle
7

Geht nach Ihrem Kommentar und Beispiel:

%Vor%

oder alle nicht alphanumerischen Zeichen ersetzen:

%Vor%

Sie können auch hinzufügen:

%Vor%

um alle führenden oder nachfolgenden Bindestriche zu beenden (an diesem Punkt müssen Sie nicht mehr trim() aufrufen).

Beispiel:

%Vor%
    
Paul Roub 21.09.2013 19:31
quelle

Tags und Links