Je souhaite remplacer toutes les occurrences de caractères d'espace blanc (espace, tabulation, nouvelle ligne) dans JavaScript.
Comment faire cela?
J'ai essayé:
str.replace(/ /gi, "X")
Je souhaite remplacer toutes les occurrences de caractères d'espace blanc (espace, tabulation, nouvelle ligne) dans JavaScript.
Comment faire cela?
J'ai essayé:
str.replace(/ /gi, "X")
Réponses:
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");
replace
ne pas oublier de montrer que la fonction ne modifie pas str
, vous devez donc la réattribuer.
perl = TRUE
, commegsub(pattern = "[\\s]+", ..., perl = TRUE)
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)
Avez-vous essayé le \s
?
str.replace(/\s/g, "X");
Essaye ça:
str.replace(/\s/g, "X")
\s\n\t
correspond: tout caractère d'espacement, suivi d'une nouvelle ligne, suivi d'une tabulation.
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");
replaceAll
?
J'ai utilisé la méthode "slugify" de underscore.string et cela a fonctionné comme un charme:
https://github.com/epeli/underscore.string#slugifystring--string
Ce qui est cool, c'est que vous pouvez simplement importer cette méthode, vous n'avez pas besoin d'importer la bibliothèque entière.