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")
javascript
trim
Sourav
la source
la source
Réponses:
Tu veux
\s
Équivalent à
dans Firefox et
[ \f\n\r\t\v]
dans IE .la source
replace
ne pas oublier de montrer que la fonction ne modifie passtr
, vous devez donc la réattribuer.perl = TRUE
, commegsub(pattern = "[\\s]+", ..., perl = TRUE)
\s
est 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.la source
Nous pouvons également l'utiliser si nous voulons changer tous les espaces vides joints avec un seul caractère:
Voyez-le en action ici: https://regex101.com/r/d9d53G/1
Explication
\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)la source
Avez-vous essayé le
\s
?la source
Si tu utilises
il remplace tous les espaces. Par exemple:
la source
Essaye ça:
la source
\s\n\t
correspond: tout caractère d'espacement, suivi d'une nouvelle ligne, suivi d'une tabulation.Pas / gi mais / g
donne
la source
En fait, cela a été travaillé mais
essayez juste ceci.
prenez la valeur / \ s / g dans une variable de chaîne comme
la source
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.
la source