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)):
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