Ich möchte alle Vorkommen von Leerzeichen (Leerzeichen, Tabulator, Zeilenumbruch) in JavaScript ersetzen.
Wie geht das?
Ich habe es versucht:
str.replace(/ /gi, "X")
Ich möchte alle Vorkommen von Leerzeichen (Leerzeichen, Tabulator, Zeilenumbruch) in JavaScript ersetzen.
Wie geht das?
Ich habe es versucht:
str.replace(/ /gi, "X")
Antworten:
Sie wollen \s
Entspricht einem einzelnen Leerzeichen, einschließlich Leerzeichen, Tabulator, Formularvorschub und Zeilenvorschub.
Gleichwertig
[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]
in Firefox und [ \f\n\r\t\v]
im IE .
str = str.replace(/\s/g, "X");
replace
Funktion nicht ändert str
, sodass Sie sie zurückweisen müssen.
perl = TRUE
, wiegsub(pattern = "[\\s]+", ..., perl = TRUE)
Wir können dies auch verwenden, wenn wir alle mehrfach verbundenen Leerzeichen mit einem einzigen Zeichen ändern möchten:
str.replace(/\s+/g,'X');
Sehen Sie es hier in Aktion: https://regex101.com/r/d9d53G/1
Erläuterung
/
\s+
/ G
\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)
Hast du das versucht \s
?
str.replace(/\s/g, "X");
Versuche dies:
str.replace(/\s/g, "X")
\s\n\t
Übereinstimmungen: Beliebiges Leerzeichen, gefolgt von einer neuen Zeile, gefolgt von einer Registerkarte.
Eigentlich hat es aber geklappt
versuchen Sie es einfach.
Nehmen Sie den Wert / \ s / g in eine Zeichenfolgenvariable wie
String a = /\s/g;
str = str.replaceAll(a,"X");
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.