JavaScript
HTML
CSS
PHP
Coming Soon
Generatori
Varie & Old

Le stringhe in JavaScript

Manipolazione di stringhe

Le stringhe sono tra i tipi di dato più utilizzati. In JavaScript offrono numerosi metodi che permettono di eseguire ricerche, sostituzioni, estrazioni di sottostringhe e trasformazioni del testo.

Concetti chiave

Le stringhe sono immutabili: ogni metodo restituisce una nuova stringa e si definiscono con apici singoli ', doppi " o backtick ` (template literal).

Esempio: creazione, lunghezza e accesso ai caratteri

CODE: JavaScriptpreleva codice
  1. let s1 = "Ciao";
  2. let s2 = 'JavaScript';
  3. let s3 = `Interpolazione: ${s1} ${s2}`; // template literal con ${}
  4.  
  5. // length e accesso
  6. console.log(s1.length); // 4 → numero di caratteri
  7. console.log(s2[0]); // "J" → accesso per indice
  8. console.log(s2.charAt(4)); // "S" → accesso con charAt
  9. console.log(s3); // "Interpolazione: Ciao JavaScript"

Trasformazioni di base

Maiuscole/minuscole, spazi, padding e ripetizione

CODE: JavaScriptpreleva codice
  1. let frase = "  Benvenuto in JavaScript  ";
  2. console.log(frase.toUpperCase()); // "  BENVENUTO IN JAVASCRIPT  "
  3. console.log(frase.toLowerCase()); // "  benvenuto in javascript  "
  4. console.log(frase.trim()); // "Benvenuto in JavaScript" → rimuove spazi ai bordi
  5. console.log("7".padStart(3, "0")); // "007" → padding a sinistra
  6. console.log("ok".repeat(3)); // "okokok" → ripetizione

Ricerca e verifica

indexOf, lastIndexOf, includes, startsWith, endsWith

CODE: JavaScriptpreleva codice
  1. let t = "Imparare JavaScript è divertente";
  2. console.log(t.indexOf("Java")); // 9 → prima occorrenza
  3. console.log(t.lastIndexOf("e")); // indice dell'ultima "e"
  4. console.log(t.includes("divertente")); // true → presenza sottostringa
  5. console.log(t.startsWith("Imparare")); // true → inizio
  6. console.log(t.endsWith("te")); // true → fine

Sostituzione

replace vs replaceAll e uso base delle regex

CODE: JavaScriptpreleva codice
  1. let s = "rosso, Rosso, ROSSO";
  2. // replace sostituisce solo la prima occorrenza
  3. console.log(s.replace("rosso", "blu")); // "blu, Rosso, ROSSO"
  4. // replaceAll sostituisce tutte le occorrenze esatte
  5. console.log(s.replaceAll("rosso", "verde")); // "verde, Rosso, ROSSO"
  6. // regex con flag i (case-insensitive) e g (globale)
  7. console.log(s.replace(/rosso/gi, "giallo")); // "giallo, giallo, giallo"

Estrazione di sottostringhe

  • slice(inizio, fine) accetta indici negativi.
  • substring(inizio, fine) scambia gli indici se invertiti e non accetta negativi.
  • substr è obsoleto.

slice vs substring (con note sui negativi)

CODE: JavaScriptpreleva codice
  1. let w = "JavaScript";
  2. console.log(w.slice(0, 4)); // "Java" → da 0 escluso 4
  3. console.log(w.slice(-6)); // "Script" → indici negativi contano da destra
  4. console.log(w.substring(4, 0)); // "Java" → scambia 4 e 0
  5. // sconsigliato: substr(posizione, lunghezza)
  6. // console.log(w.substr(4, 6)); // "Script" (obsoleto)

Divisione e concatenazione

split, join (via array), concatenazione e template literal

CODE: JavaScriptpreleva codice
  1. let elenco = "pane,latte,uova";
  2. let arr = elenco.split(","); // ["pane","latte","uova"]
  3. console.log(arr.join(" - ")); // "pane - latte - uova" → unione con separatore
  4.  
  5. let nome = "Mario", cognome = "Rossi";
  6. // concatenazione classica
  7. console.log(nome + " " + cognome); // "Mario Rossi"
  8. // template literal con variabili
  9. console.log(`${nome} ${cognome}`); // "Mario Rossi"

Confronto locale e normalizzazione

localeCompare e normalize

CODE: JavaScriptpreleva codice
  1. let a = "caffè";
  2. let b = "caffe";
  3. // confronto secondo regole locali (accenti, ordine alfabetico)
  4. console.log(a.localeCompare(b, "it", {sensitivity: "base"})); // 0 => considerati uguali in "it"
  5. // normalizzazione Unicode (utile per confronti binari coerenti)
  6. let n1 = a.normalize("NFC");
  7. let n2 = b.normalize("NFC");
  8. console.log(n1 === n2); // false → stringhe diverse a livello di codice

Tabella riassuntiva

Metodo Descrizione Esempio sintetico
lengthLunghezza della stringa"ciao".length → 4
toUpperCase() / toLowerCase()Maiuscolo/minuscolo"Ok".toLowerCase()
trim() / trimStart() / trimEnd()Rimuove spazi ai bordi" c ".trim()
indexOf() / lastIndexOf()Ricerca posizione"abc".indexOf("b")
includes() / startsWith() / endsWith()Presenza/inizio/fine"test".includes("es")
replace() / replaceAll()Sostituzione singola/tuttes.replaceAll("a","-")
slice() / substring()Estrazione porzioni"abc".slice(-2)
split()Divisione in array"a,b".split(",")
padStart() / padEnd()Padding a sinistra/destra"7".padStart(3,"0")
repeat()Ripetizione"ha".repeat(3)
localeCompare()Confronto localea.localeCompare(b,"it")
normalize()Normalizza Unicodes.normalize("NFC")

Considerazioni

Le stringhe sono immutabili: ogni operazione produce una nuova stringa. Per concatenare preferisci i template literal quando inserisci variabili o espressioni.


I Cookie su questo sito:

Il nostro sito utilizza cookie e altre tecnologie in modo tale che sia noi, sia i nostri partner, possiamo ricordarci di te e capire come tu e gli altri visitatori utilizzate il nostro sito. Qui puoi trovare ulteriori informazioni sui cookie e le altre tecnologie. Chiudendo questo banner o continuando la navigazione acconsenti all'uso dei cookie. Acconsento Info Cookies