Wie kann ein Schrägstrich in einer JavaScript-Zeichenfolge global ersetzt werden?
javascript
Babiker
quelle
quelle
"string".replace('/', 'ForwardSlash', 'g')
aber das ist ein nicht standardmäßiges Argument, das nur in Firefox afaik funktioniert."string".replace(/\//g, 'ForwardSlash');
funktioniert, aber entfernen Sie das / g daraus und es funktioniert nicht./
. Ohne das g wird nur eine Instanz ersetzt. Und wenn Sie entfernen/g
, brechen Sie den regulären Ausdruck vollständig, da das letzte / das Endtrennzeichen ist.Verwenden Sie ein Regex-Literal mit dem
g
Modifikator und umgehen Sie den Schrägstrich mit einem Backslash, damit er nicht mit den Trennzeichen kollidiert.quelle
Ohne Verwendung von Regex (obwohl ich dies nur tun würde, wenn die Suchzeichenfolge vom Benutzer eingegeben wird):
quelle
Ist das was du willst?
quelle
Das hat sich für mich als
"//"
gerecht erwiesen"/"
.quelle
Sie müssen den Schrägstrich umbrechen, um browserübergreifende Probleme oder // Auskommentare zu vermeiden.
quelle
Hallo, eine kleine Korrektur im obigen Skript. Über dem Skript wird das erste Zeichen übersprungen, wenn die Ausgabe angezeigt wird.
quelle
Die vorgeschlagene Regex
/\//g
hat bei mir nicht funktioniert; Der Rest der Zeile (//g, replacement);
) wurde auskommentiert.quelle
Dies ist Christopher Lincolns Idee, aber mit korrektem Code:
Anwendungsbeispiel:
Das Ersetzen globaler Javascript-Zeichenfolgen ist unnötig kompliziert. Diese Funktion löst dieses Problem. Es gibt wahrscheinlich eine kleine Auswirkung auf die Leistung, aber ich bin sicher, dass sie vernachlässigbar ist.
Hier ist eine alternative Funktion, sieht viel sauberer aus, ist aber im Durchschnitt etwa 25 bis 20 Prozent langsamer als die oben genannte Funktion:
quelle
Sie können ein
RegExp
Objekt erstellen , um es besser lesbar zu machenWenn Sie alle ersetzen möchten, fügen Sie das
"g"
Flag hinzuquelle