web-dev-qa-db-fra.com

Remplacer tous les caractères d'espacement

Je souhaite remplacer toutes les occurrences de caractères d'espaces (espace, tabulation, nouvelle ligne) en JavaScript.
Comment le faire? 

J'ai essayé:

str.replace(/ /gi, "X")
99
Sourav

Vous voulez \s

Correspond à un seul espace blanc caractère, y compris espace, tabulation, forme alimentation, 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 C'EST-À-DIRE .


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

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

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

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

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

Avez-vous essayé le \s?

str.replace(/\s/g, "X");
8
Michael Berkowski

Essaye ça:

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

EDIT (version correcte sans faute de frappe):

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

Si tu utilises

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

il remplace tous les espaces blancs. Par exemple:

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

En fait, il a été travaillé mais

juste essayer ceci.

prenez la valeur/\ s/g dans une variable chaîne telle que 

String a = /\s/g;

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

Pas/gi mais/g

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

donne

"My_Family_File.jpg"
1
jimver04

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

La chose intéressante est que vous pouvez vraiment simplement importer cette méthode, vous n'avez pas besoin d'importer la bibliothèque entière.

0
dude