Metodi di stringa JavaScript
I metodi String ti aiutano a lavorare con le stringhe.
Metodi e proprietà delle stringhe
I valori primitivi, come "John Doe", non possono avere proprietà o metodi (perché non sono oggetti).
Ma con JavaScript, i metodi e le proprietà sono disponibili anche per i valori primitivi, perché JavaScript tratta i valori primitivi come oggetti durante l'esecuzione di metodi e proprietà.
Lunghezza stringa JavaScript
La length
proprietà restituisce la lunghezza di una stringa:
Esempio
let txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
let length = txt.length;
Estrazione di parti di stringhe
Esistono 3 metodi per estrarre una parte di una stringa:
slice(start, end)
substring(start, end)
substr(start, length)
JavaScript String slice()
slice()
estrae una parte di una stringa e restituisce la parte estratta in una nuova stringa.
Il metodo accetta 2 parametri: la posizione iniziale e la posizione finale (fine non inclusa).
Questo esempio taglia una parte di una stringa dalla posizione 7 alla posizione 12 (13-1):
Esempio
let str = "Apple, Banana, Kiwi";
let part = str.slice(7, 13);
Nota
JavaScript conta le posizioni da zero.
La prima posizione è 0.
La seconda posizione è 1.
Se un parametro è negativo, la posizione viene conteggiata dalla fine della stringa.
Questo esempio taglia una parte di una stringa dalla posizione -12 alla posizione -6:
Esempio
let str = "Apple, Banana, Kiwi";
let part = str.slice(-12, -6);
Se ometti il secondo parametro, il metodo taglierà il resto della stringa:
Esempio
let part = str.slice(7);
oppure, contando dalla fine:
Esempio
let part = str.slice(-12);
Stringa JavaScript sottostringa()
substring()
è simile a slice()
.
La differenza è che substring()
non può accettare indici negativi.
Esempio
let str = "Apple, Banana, Kiwi";
let part = str.substring(7, 13);
Se ometti il secondo parametro, substring()
taglierà il resto della stringa.
JavaScript stringa substr()
substr()
è simile a slice()
.
La differenza è che il secondo parametro specifica la lunghezza della parte estratta.
Esempio
let str = "Apple, Banana, Kiwi";
let part = str.substr(7, 6);
Se ometti il secondo parametro, substr()
taglierà il resto della stringa.
Esempio
let str = "Apple, Banana, Kiwi";
let part = str.substr(7);
Se il primo parametro è negativo, la posizione conta dalla fine della stringa.
Esempio
let str = "Apple, Banana, Kiwi";
let part = str.substr(-4);
Sostituzione del contenuto della stringa
Il replace()
metodo sostituisce un valore specificato con un altro valore in una stringa:
Esempio
let text = "Please visit Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Nota
Il replace()
metodo non cambia la stringa su cui è chiamato.
Il replace()
metodo restituisce una nuova stringa.
Per impostazione predefinita, il replace()
metodo sostituisce solo la prima corrispondenza:
Esempio
let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace("Microsoft", "W3Schools");
Per impostazione predefinita, il replace()
metodo distingue tra maiuscole e minuscole. La scrittura di MICROSOFT (con maiuscolo) non funzionerà:
Esempio
let text = "Please visit Microsoft!";
let newText = text.replace("MICROSOFT", "W3Schools");
Per sostituire la distinzione tra maiuscole e minuscole, utilizzare un'espressione regolare con un /i
flag (insensibile):
Esempio
let text = "Please visit Microsoft!";
let newText = text.replace(/MICROSOFT/i, "W3Schools");
Nota
Le espressioni regolari sono scritte senza virgolette.
Per sostituire tutte le corrispondenze, utilizza un'espressione regolare con un /g
flag (corrispondenza globale):
Esempio
let text = "Please visit Microsoft and Microsoft!";
let newText = text.replace(/Microsoft/g, "W3Schools");
Nota
Imparerai molto di più sulle espressioni regolari nel capitolo Espressioni regolari JavaScript .
Conversione in maiuscolo e minuscolo
Una stringa viene convertita in maiuscolo con toUpperCase()
:
Una stringa viene convertita in minuscolo con toLowerCase()
:
JavaScript String toUpperCase()
Esempio
let text1 = "Hello World!";
let text2 = text1.toUpperCase();
Stringa JavaScript in minuscolo()
Esempio
let text1 = "Hello World!"; // String
let text2 = text1.toLowerCase(); // text2 is text1
converted to lower
JavaScript String concat()
concat()
unisce due o più stringhe:
Esempio
let text1 = "Hello";
let text2 = "World";
let text3 = text1.concat(" ", text2);
Il concat()
metodo può essere utilizzato al posto dell'operatore più. Queste due righe fanno lo stesso:
Esempio
text = "Hello" + " " + "World!";
text = "Hello".concat(" ", "World!");
Nota
Tutti i metodi stringa restituiscono una nuova stringa. Non modificano la stringa originale.
Ha detto formalmente:
Le stringhe sono immutabili: le stringhe non possono essere modificate, solo sostituite.
JavaScript String trim()
Il trim()
metodo rimuove gli spazi bianchi da entrambi i lati di una stringa:
Esempio
let text1 = " Hello World! ";
let text2 = text1.trim();
Imbottitura di stringhe JavaScript
ECMAScript 2017 ha aggiunto due metodi String: padStart
e padEnd
per supportare il riempimento all'inizio e alla fine di una stringa.
JavaScript stringa padStart()
Esempio
let text = "5";
let padded = text.padStart(4,0);
Supporto browser
padStart()
è una funzionalità di ECMAScript 2017.
È supportato in tutti i browser moderni:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
padStart()
non è supportato in Internet Explorer.
JavaScript stringa padEnd()
Esempio
let text = "5";
let padded = text.padEnd(4,0);
Supporto browser
padEnd()
è una funzionalità di ECMAScript 2017.
È supportato in tutti i browser moderni:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
padEnd()
non è supportato in Internet Explorer.
Estrazione di caratteri stringa
Esistono 3 metodi per estrarre i caratteri stringa:
charAt(position)
charCodeAt(position)
- Accesso alla proprietà [ ]
JavaScript stringa charAt()
Il charAt()
metodo restituisce il carattere in corrispondenza di un indice (posizione) specificato in una stringa:
Esempio
let text = "HELLO WORLD";
let char = text.charAt(0);
Stringa JavaScript charCodeAt()
Il charCodeAt()
metodo restituisce l'unicode del carattere in un indice specificato in una stringa:
Il metodo restituisce un codice UTF-16 (un numero intero compreso tra 0 e 65535).
Esempio
let text = "HELLO WORLD";
let char = text.charCodeAt(0);
Accesso alla proprietà
ECMAScript 5 (2009) consente l'accesso alle proprietà [ ] sulle stringhe:
Esempio
let text = "HELLO WORLD";
let char = text[0];
Nota
L'accesso alla proprietà potrebbe essere un po' imprevedibile:
- Fa sembrare le stringhe come array (ma non lo sono)
- If no character is found, [ ] returns undefined, while charAt() returns an empty string.
- It is read only. str[0] = "A" gives no error (but does not work!)
Example
let text = "HELLO WORLD";
text[0] = "A"; // Gives no error, but does not work
Converting a String to an Array
If you want to work with a string as an array, you can convert it to an array.
JavaScript String split()
A string can be converted to an array with the split()
method:
Example
text.split(",") // Split on commas
text.split(" ") // Split on spaces
text.split("|") // Split on pipe
If the separator is omitted, the returned array will contain the whole string in index [0].
If the separator is "", the returned array will be an array of single characters:
Example
text.split("")
Complete String Reference
For a complete String reference, go to our:
Complete JavaScript String Reference.
The reference contains descriptions and examples of all string properties and methods.