Sostituisci tutti i caratteri degli spazi bianchi


Risposte:


315

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");

41
+1 per ricordare di mostrare che la replacefunzione non viene modificata str, quindi è necessario assegnarla nuovamente.
FishBasketGordo

1
In una funzione, è possibile restituire str.replace, quindi non è necessario assegnare in tale ambito.
Steve K,

Ricorda che R deve usare perl = TRUE, comegsub(pattern = "[\\s]+", ..., perl = TRUE)
MS Berends,

30

\sè un meta personaggio che copre tutto lo spazio bianco. Non è necessario renderlo senza distinzione tra maiuscole e minuscole: gli spazi bianchi non contengono maiuscole e minuscole.

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

19

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)

  • Bandiere globali
    • modificatore g: g lobal. Tutte le partite (non tornare dopo la prima partita)


4

Se usi

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

sostituisce tutti gli spazi bianchi. Per esempio:

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

4

Prova questo:

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

Non funziona \s\n\tcorrispondenze: qualsiasi carattere di spazio bianco, seguito da una nuova riga, seguito da una scheda.
Daniel Cassidy,

3

Non / gi ma / g

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

"My_Family_File.jpg"

1

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");

da dove vieni replaceAll?
Ionel Lupu il

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.