Remplacer tous les caractères d'espacement


Réponses:


315

Tu veux \s

Correspond à un seul caractère d'espace blanc, y compris espace, tabulation, saut de page, saut de ligne.

Équivalent à

[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]

dans Firefox et [ \f\n\r\t\v]dans IE .


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

41
+1 pour replacene pas oublier de montrer que la fonction ne modifie pas str, vous devez donc la réattribuer.
FishBasketGordo

1
Dans une fonction, vous pouvez renvoyer str.replace, vous n'avez donc pas besoin d'affecter dans cette portée.
Steve K

N'oubliez pas d'utiliser R perl = TRUE, commegsub(pattern = "[\\s]+", ..., perl = TRUE)
MS Berends

30

\sest un méta caractère qui couvre tous les espaces blancs. Vous n'avez pas besoin de le rendre insensible à la casse - l'espace blanc n'a pas de casse.

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

19

Nous pouvons également l'utiliser si nous voulons changer tous les espaces vides joints avec un seul caractère:

str.replace(/\s+/g,'X');

Voyez-le en action ici: https://regex101.com/r/d9d53G/1

Explication

/ \s+/ g

  • \s+correspond à n'importe quel caractère d'espacement (égal à [\r\n\t\f\v ])
  • + Quantificateur - Correspond entre un et un nombre illimité de fois, autant de fois que possible, en redonnant au besoin (gourmand)

  • Drapeaux de modèle global
    • g modificateur: g lobal. Tous les matchs (ne revenez pas après le premier match)


4

Si tu utilises

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

il remplace tous les espaces. Par exemple:

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

4

Essaye ça:

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

Cela ne marche pas. \s\n\tcorrespond: tout caractère d'espacement, suivi d'une nouvelle ligne, suivi d'une tabulation.
Daniel Cassidy

3

Pas / gi mais / g

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

donne

"My_Family_File.jpg"

1

En fait, cela a été travaillé mais

essayez juste ceci.

prenez la valeur / \ s / g dans une variable de chaîne comme

String a = /\s/g;

str = str.replaceAll(a,"X");

d'où viens-tu replaceAll?
Ionel Lupu

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.