Categorie
Javascript Programmazione

{JS} new String()

L’oggetto String

Anche le stringhe hanno un corrispondente oggetto predefinito che prevede metodi per la loro manipolazione e per la gestione delle stringhe

Come avviene per i numeri, JavaScript si occupa di effettuare automaticamente le opportune conversioni da primitivi ad oggetti e vicevera.

var x = new String("Stringa di testo");

Proprietà

lengthnumero di caratteri che contiene una stringa

La proprietà length indica il numero di caratteri di cui è composta una stringa inclusi gli spazi

var x = new String("Oggetto Stringa");
var y = x.length;		// Totale 15 caratteri

Metodi

Una stringa in Javascript è vista come un array di caratteri.
Esistono numerosi metodi per manipolarle.

.charAt(n)estrae il carattere dalla stringa in base all’indice indicato
.replace(“stringa”, “stringa”)sostituisce una stringa/parola con una nuova stringa/parola
.indexOf(“stringa”)individua la prima occorrenza della stringa indicata sotto forma di indice
.lastIndexOf(“stringa”)individua l’ultima occorrenza della stringa indicata sotto forma di indice
.substr(index, n)estrae sottostringa indicano l’indice inziale ed il numero di caratteri da estrarre
.substring(index, lastIndex)estrae sottostringa indicano l’indice inziale e l’indice finale
.slice(index, lastIndex)simile a substring() ma con un comportamento particolare
.split(“/”) suddivide la stringa in un array di sottostringhe; prevede diverse possibilità in base al/ai parametri passati
.toLowerCase()trasforma la stringa tutta in minuscolo
.toUpperCase()trasforma la stringa tutta in maiuscolo
.trim()elimina gli spazi inziale e finale di una stringa
.startWith(“stringa”)verifichiamo se una stringa inizia con la stringa indicata; restituisce true/false
.endsWith(“stringa”)verifichiamo se una stringa termina con la stringa indicata; restituisce true/false

.charAt()

Potrebbe essere necessario estrarre dei caratteri da una stringa, si pensi alla generazione di un codice fiscale.

var testo = "Stringa oggetto";
var caratteEstratto = x.charAt(2); // risultato "r"
Note: l'estrazione dei caratteri da una stringa è come l'estrazione di valori da un array e conseguenzialmente gli indici dei caratteri partiranno da 0; quindi, se indichi il ChartAt(2) in realtà stai indicando il terzo carattere. 
Forma contratta

Avremmo potuto scrivere le precedenti linee di codice in una forma contratta

var x = "Stringa oggetto".charAt(2);
Array di caratteri

Nella rappresentazione della stringa come array di caratteri avremmo poturto ottenere lo stesso risultato con la seguente istruzione:

var x = "Una stringa"[2];
Note: l’accesso ad un carattere tramite l’approccio ad array è in sola lettura. Quindi non è possibile modificare alcun valore.

.replace()

Il metodo replace() prende due argomenti: la sottostringa da ricercare e la nuova stringa con cui sostituire la sottostringa.

var x = "Questa è una stringa"
var y = x.replace("stringa", "stringa modificata");

Da notare come il metodo replace() utilizzato come nell’esempio sostituisce soltanto la prima occorrenza della stringa. Nel caso in cui si fosse indicata soltanto la lettera “s” da sostituire, la “s” che sarebbe stata presa come riferimento da sostituire coinciderebbe con quella contenuta nella parola “Questa”.

Note: una sottostringa è una porzione di una stringa Es. "Questa è una stringa",  "Questa" è una sottostringa.

.indexOf()

.lastIndexOf()

var testo = "Questa è una stringa, una stringa d'esempio";
var primaOccorenza = testo.indexOf("stringa");
//il risultato sarà 13

Il metodo restituisce la posizione della prima occorrenza, sotto forma di indice, della stringa passata come argomento. Se non viene individuata nessuna occorrenza indexOf() restituisce -1

var testo = "Questa è una stringa, una stringa d'esempio";
var primaOccorenza = testo.lastIndexOf("stringa");
//il risultato sarà 26
Secondo parametro

Per entrambi i metodi è possibile passare un secondo argomento che indica la posizione di partenza all’interno della stringa

var testo = "Questa è una stringa, una stringa d'esempio";
var primaOccorenza = testo.indexOf("stringa", 22); 
// trova la prima occorrenza a partire dal carattere 22
// risultato 26

Aggiungendo un secondo argomento testo.indexOf(“stringa”, 22); abbiamo indicato di ricercare la prima-occorrenza a partire dal carattere 22.

.substr()

Il metodo substr() ci consente di estrarre una sottostringa di un certo numero di caratteri a partire da una posizione.
In primo parametro indica l’indice index, il secondo, indica il numero di caratteri successivi da estrarre.

var testo = "Una nuova stringa";
var y = testo.substr(4, 5); // estraiamo "nuova"

.substring()

Il metodo substring() estrae una sottostringa compresa tra due posizioni
espressi sotto forma di indice inziale e indice finale.

var testo = "Una nuova stringa";
var y = testo.substring(10, 17); // estraiamo "stinga"

Se il secondo argomento viene omesso JavaScript estrarrà tutti i caratteri fino alla fine della stringa.

var testo = "Una nuova stringa".substring(4);
// estrae "nuova stringa"

.slice()

Il metodo slice() è in buona sostanza molto simile a substring() ma presenta alcune differenze che elenchiamo:

var x = "Una nuova stringa".slice(4, 9);
  1. se il primo parametro è inferiore al secondo: substring gli inverte, mentre slice restituisce stringa vuota
  2. se uno dei paramenti è con valore negativo: “-2” substring gli attribuisce valore 0, mentre slice come riferimento prende la fine della stringa e procede a ritroso

.split()

Grazie al metodo .split() possiamo suddividere una stringa in un array di sottostringhe

var testo = "Una nuova stringa"
var creaArray = testo.split();
Parametri
.split()genera un array il cui unico elemento è l’intera stringa
.split(“n”);indicando un parametro separatore otterremo un array di elementi composto da sottostringhe il cui delimitatore e il parametro indicato
.split(“”);genera una array di tutti i caratteri di cui è composta la stinga
.split(“”, 5);come prima, ma il secondo paramento indicato delimita il numero massimo di elementi dell’array
"Una nuova stringa".split();
// Array con unico valore ["Una nuova stringa"]

"Una nuova stringa".split("n");
// Array ["U", "a ", "uova stri", "ga"]

"Una nuova stringa".split("");
// Array ["U", "n", "a", " ", "n", "u", "o", "v", "a", " ", "s", "t", "r", "i", "n", "g", "a"]

"Una nuova stringa".split("", 5);
// Array ["U", "n", "a", " ", "n"]

.toLowerCase()

.toUpperCase()

Trasformare le stringhe tutte in minuscolo o maiuscolo

var x = "Una nuova stringa".toLowerCase();
var y = "Una nuova stringa".toUpperCase();
// risultato x = "una nuova stringa"
// risultato y = "UNA NUOVA STRINGA"

trim()

Il metodo trim() elimina gli spazi iniziali e finali di una stringa

var testo = "  Questa è una Stringa con degli spazi iniziali e finali   ".trim();
// risultato "Questa è una Stringa con degli spazi iniziali e finali";

.startsWith()

.endsWith()

Con i metodi startWith() e endsWith() verifichiamo rispettivamente se una stringa inizia o termina con un determinato valore

var testo = "Questa è una stringa di testo".startWith("Questa");  
// risultato "true"
var testo = "Questa è una stringa di testo".endsWith("."); // risultato "false"

Generare stringhe di codice html

Per completezza segnaliamo i seguenti metodi, di recente introduzione, seppur limitati e poco utilizzati:

var x = "Una nuova stringa".anchor("test");
// risultato "<a name='test'>Una nuova stringa</a>"

var y = "Una nuova stringa".italics();
// risultato "<i>Una nuova stringa</i>"

var z = "Una nuova stringa".bold();
// risultato "<b>Una nuova stringa</b>

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *