Ersetzen Sie alle Leerzeichen


Antworten:


315

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");

41
+1 für das Erinnern daran, zu zeigen, dass sich die replaceFunktion nicht ändert str, sodass Sie sie zurückweisen müssen.
FishBasketGordo

1
In einer Funktion können Sie str.replace zurückgeben, sodass Sie in diesem Bereich keine Zuweisung vornehmen müssen.
Steve K

Denken Sie daran, für R zu verwenden perl = TRUE, wiegsub(pattern = "[\\s]+", ..., perl = TRUE)
MS Berends

30

\sist ein Metazeichen, das alle Leerzeichen abdeckt. Sie müssen nicht zwischen Groß- und Kleinschreibung unterscheiden - Leerzeichen haben keine Groß- und Kleinschreibung.

str.replace(/\s/g, "X")

19

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)

  • Globale Musterflags
    • g Modifikator: g lobal. Alle Spiele (nicht nach dem ersten Spiel zurückkehren)


4

Wenn du benutzt

str.replace(/\s/g, "");

Es ersetzt alle Leerzeichen. Beispielsweise:

var str = "hello my world";
str.replace(/\s/g, "") //the result will be "hellomyworld"

4

Versuche dies:

str.replace(/\s/g, "X")

Das geht nicht \s\n\tÜbereinstimmungen: Beliebiges Leerzeichen, gefolgt von einer neuen Zeile, gefolgt von einer Registerkarte.
Daniel Cassidy

3

Nicht / gi aber / g

var fname = "My Family File.jpg"
fname = fname.replace(/ /g,"_");
console.log(fname);

gibt

"My_Family_File.jpg"

1

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");

Woher kommst du replaceAll?
Ionel Lupu

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.