Come rimuovere spazi da una stringa usando JavaScript?

Come rimuovere gli spazi in una stringa? Per esempio:

Inserimento: '/var/www/site/Brand new document.docx'
Output: '/var/www/site/Brandnewdocument.docx'

Grazie

Questo?

 str = str.replace(/\s/g, ''); 

Esempio

 var str = '/var/www/site/Brand new document.docx'; document.write( str.replace(/\s/g, '') ); 
 var a = b = " /var/www/site/Brand new document.docx "; console.log( a.split(' ').join('') ); console.log( b.replace( /\s/g, '') ); 

Segue la risposta di @rsplak: in realtà, usare split / join way è più veloce rispetto all’utilizzo di regexp. Vedi il caso del test delle prestazioni

Così

var result = text.split(' ').join('')

opera più velocemente di

var result = text.replace(/\s+/g, '')

Nei testi piccoli questo non è rilevante, ma nei casi in cui il tempo è importante, ad esempio negli analisti di testo, specialmente quando si interagisce con gli utenti, è importante.


D’altra parte, \s+ gestisce una più ampia varietà di caratteri spaziali. Tra con \n e \t , corrisponde anche a \u00a0 carattere, e questo è ciò che   viene triggersto quando si ottiene il testo utilizzando textDomNode.nodeValue .

Quindi penso che la conclusione qui possa essere fatta come segue: se hai solo bisogno di sostituire spazi ' ' , usa split / join. Se possono esserci simboli diversi della class dei simboli : usa replace(/\s+/g, '')

 var input = '/var/www/site/Brand new document.docx'; //remove space input = input.replace(/\s/g, ''); //make string lower input = input.toLowerCase(); alert(input); 

Clicca qui per esempio di lavoro

Potresti provare a usare questo:

 input.split(' ').join(''); 
  var output = '/var/www/site/Brand new document.docx'.replace(/ /g, ""); or var output = '/var/www/site/Brand new document.docx'.replace(/ /gi,""); 

Nota: sebbene tu usi “g” o “gi” per rimuovere gli spazi, entrambi si comportano allo stesso modo.

Se usiamo ‘g’ nella funzione di sostituzione, controlleremo la corrispondenza esatta. ma se usiamo ‘gi’, ignora la sensibilità dei casi.

per riferimento clicca qui .

SHORTEST e str.replace(/ /g, ''); : str.replace(/ /g, '');


Indice di riferimento:

Ecco i miei risultati – (2018.07.13) MacOs High Sierra 10.13.3 su Chrome 67.0.3396 (64-bit), Safari 11.0.3 (13604.5.6), Firefox 59.0.2 (64-bit)):

inserisci la descrizione dell'immagine qui

La soluzione più veloce su tutti i browser è / /g (regexp1a) – Chrome 17.7M (operazione / sec), Safari 10.1M, Firefox 8.8M. Il più lento per tutti i browser era la soluzione split-join . Modificare per \s o aggiungere + o i a regexp rallenta l’elaborazione.

Puoi eseguirlo sul tuo computer: https://jsperf.com/remove-string-spaces