Ich möchte alle Vorkommen von Leerzeichen (Leerzeichen, Tabulator, Zeilenumbruch) in JavaScript ersetzen.
Wie geht das?
Ich habe es versucht:
str.replace(/ /gi, "X")
javascript
trim
Sourav
quelle
quelle
Antworten:
Sie wollen
\s
Gleichwertig
in Firefox und
[ \f\n\r\t\v]
im IE .quelle
replace
Funktion nicht ändertstr
, sodass Sie sie zurückweisen müssen.perl = TRUE
, wiegsub(pattern = "[\\s]+", ..., perl = TRUE)
\s
ist ein Metazeichen, das alle Leerzeichen abdeckt. Sie müssen nicht zwischen Groß- und Kleinschreibung unterscheiden - Leerzeichen haben keine Groß- und Kleinschreibung.quelle
Wir können dies auch verwenden, wenn wir alle mehrfach verbundenen Leerzeichen mit einem einzigen Zeichen ändern möchten:
Sehen Sie es hier in Aktion: https://regex101.com/r/d9d53G/1
Erläuterung
\s+
Entspricht einem beliebigen Leerzeichen (gleich[\r\n\t\f\v ]
)+
Quantifizierer - Stimmt so oft wie möglich zwischen einer und einer unbegrenzten Anzahl überein und gibt nach Bedarf etwas zurück (gierig)quelle
Hast du das versucht
\s
?quelle
Wenn du benutzt
Es ersetzt alle Leerzeichen. Beispielsweise:
quelle
Versuche dies:
quelle
\s\n\t
Übereinstimmungen: Beliebiges Leerzeichen, gefolgt von einer neuen Zeile, gefolgt von einer Registerkarte.Nicht / gi aber / g
gibt
quelle
Eigentlich hat es aber geklappt
versuchen Sie es einfach.
Nehmen Sie den Wert / \ s / g in eine Zeichenfolgenvariable wie
quelle
replaceAll
?Ich habe die "slugify" -Methode von underscore.string verwendet und es hat wie ein Zauber funktioniert:
https://github.com/epeli/underscore.string#slugifystring--string
Das Coole ist, dass Sie diese Methode wirklich einfach importieren können und nicht die gesamte Bibliothek importieren müssen.
quelle