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")
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");
\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")
Nous pouvons également l'utiliser si nous voulons modifier tous les espaces vides joints avec un seul caractère:
str.replace(/\s+/g,'X');
Avez-vous essayé le \s
?
str.replace(/\s/g, "X");
Essaye ça:
str.replace(/\s/gi, "X")
EDIT (version correcte sans faute de frappe):
str.replace(/\s/g, "X")
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"
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");
Pas/gi mais/g
var fname = "My Family File.jpg"
fname = fname.replace(/ /g,"_");
console.log(fname);
donne
"My_Family_File.jpg"
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.