Voglio sostituire tutte le occorrenze di caratteri di spazi bianchi (spazio, tabulazione, nuova riga) in JavaScript.
Come si fa?
Provai:
str.replace(/ /gi, "X")
Voglio sostituire tutte le occorrenze di caratteri di spazi bianchi (spazio, tabulazione, nuova riga) in JavaScript.
Come si fa?
Provai:
str.replace(/ /gi, "X")
Risposte:
Tu vuoi \s
Corrisponde a un singolo carattere di spazio bianco, inclusi spazio, tabulazione, avanzamento modulo, avanzamento riga.
Equivalente a
[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]
in Firefox e [ \f\n\r\t\v]
in IE .
str = str.replace(/\s/g, "X");
replace
funzione non viene modificata str
, quindi è necessario assegnarla nuovamente.
perl = TRUE
, comegsub(pattern = "[\\s]+", ..., perl = TRUE)
Possiamo anche usarlo se vogliamo cambiare tutti gli spazi multipli uniti con un solo carattere:
str.replace(/\s+/g,'X');
Guardalo in azione qui: https://regex101.com/r/d9d53G/1
Spiegazione
/
\s+
/ g
\s+
corrisponde a qualsiasi carattere di spazio bianco (uguale a [\r\n\t\f\v ]
)+
Quantificatore - Corrisponde tra uno e un numero illimitato di volte, il maggior numero di volte possibile, restituendo quando necessario (goloso)
Hai provato il \s
?
str.replace(/\s/g, "X");
Prova questo:
str.replace(/\s/g, "X")
\s\n\t
corrispondenze: qualsiasi carattere di spazio bianco, seguito da una nuova riga, seguito da una scheda.
In realtà è stato funzionato ma
prova questo.
accetta il valore / \ s / g in una variabile stringa come
String a = /\s/g;
str = str.replaceAll(a,"X");
replaceAll
?
Ho usato il metodo "slugify" di underscore.string e ha funzionato come un incantesimo:
https://github.com/epeli/underscore.string#slugifystring--string
La cosa interessante è che puoi davvero importare questo metodo, non è necessario importare l'intera libreria.