2013-06-07 16 views
14

quale funzione trasformerà rimuovere spazi aggiuntivi nella stringa javascript

 this contains  spaces
in
this contains spaces
utilizzando javascript?

Ho provato quanto segue, usando simili domande SO, ma non ho potuto farlo funzionare.

var string = " this contains spaces "; 

newString = string.replace(/\s+/g,''); // "thiscontainsspaces" 
newString = string.replace(/ +/g,''); //"thiscontainsspaces" 


curato la questione di concentrarsi maggiormente sull'aspetto javascript. C'è un semplice modo javascript per realizzare questo?

+1

Guardare utilizzando underscore.string, ci sono molti metodi puliti come questo che ti aiuteranno, non richiede il carattere di sottolineatura. – adrian

risposta

38

sei vicino.

Ricordare che replacesostituisce il testo trovato con il secondo argomento. Quindi:

newString = string.replace(/\s+/g,''); // "thiscontainsspaces" 

Trova qualsiasi numero di spazi sequenziali e li rimuove. Prova invece a sostituirli con uno spazio singolo!

newString = string.replace(/\s+/g,' ').trim(); 
+0

grazie! questo ha senso ... ma manca una funzione per tagliare (primo e ultimo singolo spazio) :) –

+2

Vero, ma sai cosa fare :) – Hamish

11
string.replace(/\s+/g, ' ').trim() 
4

ho capito in un modo, ma sono curioso di sapere se c'è un modo migliore ...

string.replace(/\s+/g,' ').trim() 
+0

convertire in un array di byte, iterarlo manualmente e inviarlo a un nuovo array di byte. Converti il ​​nuovo array in una stringa .... meglio? – dlamblin

+0

Questo è puro JS, non jQuery. –

Problemi correlati