Home / Blog /

Javascript substring: come estrarre caratteri da una stringa

di Giuseppe Maggi

Le stringhe sono probabilmente uno dei principali vettori di dati nei programmi, soprattutto per la loro capacità di veicolare qualsiasi informazione esprimibile o convertibile in caratteri. Per tale motivo, vengono molto spesso sottoposte ad interpretazione (tecnicamente, parsing) per poterne sfruttare adeguatamente il contenuto.
Una delle principali attività da svolgere a riguardo consiste nell’estrazione di porzioni di esse in base alla posizione dei caratteri ed in Javascript ciò prende corpo con due funzioni che in questo post andiamo ad analizzare: substr e substring.

Esse hanno la medesima finalità, ma portata a termine in due modi differenti che non vanno confusi pena la produzione di errori o, peggio ancora, di bug difficili da individuare.

Javascript substr

La forma della funzione substr è la seguente:

stringa.substr(inizio, numero_caratteri)

dove:

  • stringa è la stringa su cui eseguire l’operazione;
  • inizio è la posizione iniziale nella stringa da cui voglio iniziare l’estrazione. Obbligatorio;
  • numero_caratteri è il numero di caratteri che vogliamo estrarre. Opzionale, in sua assenza l’intera stringa verrà restituita

Javascript substring

La definizione di substring è invece la seguente:

stringa.substring(inizio, fine)

dove:

  • stringa è la stringa su cui eseguire l’operazione;
  • inizio è la posizione iniziale nella stringa da cui voglio iniziare l’estrazione. Obbligatorio;
  • fine è la posizione del carattere successivo all’ultimo selezionato con la sottostringa. Opzionale, in sua assenza l’intera stringa verrà restituita

Chiariamo subito che le posizioni nelle stringhe vengono conteggiate a partire da zero quindi la stringa “cane” vedrà in posizione 0 la lettera c, nella 1 la a e via dicendo. Se una stringa contiene, ad esempio, dieci lettere non avrà alcuna di esse in posizione 10 in quanto queste saranno identificate dalla 0 alla 9.

» VUOI SAPERNE DI PIU’? VAI AL NOSTRO CORSO JAVASCRIPT «

Esempi d’uso di Javascript substring e substr

Ecco alcuni esempi, tutti presentati sulla seguente stringa:

stringa=”Ciao a tutti"

Chiediamo sette caratteri a partire dal secondo:

stringa.substr(1,7)

e otteniamo:

'iao a t'

Gli stessi argomenti in substring:

stringa.substring(1,7)

restituiscono:

'iao a '

restituendo dal carattere in posizione 1 a quello in posizione 6 (il carattere prima di quanto indicato nel secondo argomento).

Senza il secondo argomento entrambe le funzioni restituiscono il medesimo risultato, infatti sia:

stringa.substring(1)

che:

stringa.substr(1)

restituiscono tutta la stringa partendo dal secondo carattere:

'iao a tutti'

Se forniamo un solo argomento negativo, substr conteggerà i caratteri a partire dal fondo.

Infatti:

stringa.substr(-5)

restituisce:

'tutti'

Ovvero gli ultimi 5 caratteri

mentre substring considererà l’elemento negativo come 0 infatti:

stringa.substring(-5)

offre:

'Ciao a tutti'

Inoltre, qualora la funzione substring, basandosi sulle posizioni degli elementi, ricevesse un secondo argomento maggiore del primo, si preoccuperebbe da sola di invertirli pertanto le seguenti espressioni:

stringa.substring(8,2)
stringa.substring(2,8)

forniscono il medesimo risultato:

'ao a t'

Infine, un ultimo caso spesso utile: se volessimo ottenere solo il primo carattere di una stringa ci basterebbe fornire ad entrambe le funzioni gli argomenti 0 e 1.

Sia:

stringa.substring(0,1)

che:

stringa.substr(0,1)

restituiscono

'C'
VUOI IMPARARE A PROGRAMMARE IN JAVASCRIPT?

Iscriviti su devACADEMY e SEGUI TUTTI I CORSI che vuoi!
OLTRE 70 CORSI di coding A TUA DISPOSIZIONE con un’unica iscrizione 🙂

VAI AL CORSO JAVASCRIPT