Il metodo substring in Java serve a estrarre una sot­to­strin­ga da una stringa intera. Vi sono diverse varianti per farlo: è possibile separare la stringa partendo da un indice definito sino alla fine della stringa oppure stabilire da subito l’inizio e la fine della sot­to­strin­ga.

Che cos’è il metodo substring in Java e come funziona?

In Java è possibile riunire più lettere, cifre o caratteri speciali in un’unica stringa Java. Se desideri estrarre soltanto certe sot­to­se­zio­ni dell’intera stringa, hai diverse opzioni a tua di­spo­si­zio­ne. Con il metodo Java String.split() puoi scomporre l’intera stringa nelle sue singole parti per ottenere ad esempio una vi­sua­liz­za­zio­ne più chiara. Il metodo Java String substring(), invece, si spinge un po’ oltre e re­sti­tui­sce solamente una parte della stringa, che puoi definire per mezzo di un indice iniziale o, in al­ter­na­ti­va, con un indice iniziale e uno finale. Ti mostriamo ora il metodo e le sue varianti.

Web Hosting
Diventa il n°1 della rete con il provider di hosting n°1 in Europa
  • Di­spo­ni­bi­li­tà garantita al 99,99%
  • Dominio, SSL ed e-mail inclusi
  • As­si­sten­za 24/7 in lingua italiana

Substring con beginIndex

Come già men­zio­na­to nella nostra in­tro­du­zio­ne, per il metodo Java String substring() esistono due varianti che si dif­fe­ren­zia­no per alcuni aspetti. La prima variante definisce soltanto un punto iniziale a partire dal quale deve essere formata la sot­to­strin­ga. La se­pa­ra­zio­ne parte da questo punto e va fino all’ultimo carattere della stringa. La sintassi si presenta così:

String substring(int beginIndex)
java

Qui in­di­chia­mo in­nan­zi­tut­to la stringa dalla quale estrarre la sot­to­strin­ga. Quindi uti­liz­zia­mo un valore integer per definire il punto da cui parte la sot­to­strin­ga. Per ottenere l’output si utilizza il comando Java System.out.println. Il metodo funziona con principio inclusivo, ossia anche il carattere cor­ri­spon­den­te al punto dell’indice viene incluso nella se­pa­ra­zio­ne. Se il valore be­gi­nIn­dex è minore di 0 o supera l’effettiva lunghezza della stringa, compare un messaggio di errore.

Per chiarire il fun­zio­na­men­to di questo metodo substring in Java ti mostriamo un semplice esempio in cui creiamo una stringa e quindi ne estraiamo una sot­to­strin­ga in un certo punto.

public class Main {
	public static void main(String args[]) {
	String Str = new String("Questo è un esempio. Qui segue una seconda frase.");
	System.out.print("Questa è la nuova sottostringa: ");
	System.out.println(Str.substring(21));
	}
}
java

Eseguendo il codice, ottieni il seguente output:

Questa è la nuova sottostringa: Qui segue una seconda frase.
java

Na­tu­ral­men­te il tutto funziona anche se la stringa è composta da cifre:

public class Main {
	public static void main(String args[]) {
	String Str = new String("192.448.782.1142");
	System.out.print("Le ultime quattro cifre sono: ");
	System.out.println(Str.substring(12));
	}
}
java

Questo è l’output:

Le ultime quattro cifre sono: 1142
java

Substring con beginIndex ed endIndex

Con la seconda variante del metodo substring di Java è possibile per­so­na­liz­za­re ul­te­rior­men­te la sot­to­strin­ga in base alle tue esigenze. In questo caso, infatti, non in­di­chia­mo soltanto il punto a partire dal quale estrarre la sot­to­strin­ga, ma definiamo anche un punto finale. La sintassi è la seguente:

String substring(int beginIndex, int endIndex)
java

L’indice be­gi­nIn­dex è inclusivo, mentre l’indice endIndex è esclusivo. Uti­liz­zia­mo un semplice esempio per chiarire anche questa variante:

public class Main {
	public static void main(String args[]) {
	String Str = new String("Questo è un esempio. Qui segue una seconda frase.");
	System.out.print("Questa è la nuova sottostringa: ");
	System.out.println(Str.substring(9, 19));
	}
}
java

In questo modo otteniamo il seguente output:

Questa è la nuova sottostringa: un esempio
java

È anche possibile creare fa­cil­men­te una sot­to­strin­ga all’interno di una parola. Ad esempio, estraiamo una parte di questa lista di una spesa im­ma­gi­na­ria:

public class Main {
	public static void main(String args[]) {
	String Str = new String("Uova, latte, fagioli, speck e farina");
	System.out.print("Questa è la nuova sottostringa: ");
	System.out.println(Str.substring(13, 15));
	}
}
java

Il nuovo output si presenta quindi così:

Questa è la nuova sottostringa: fa
java

Per con­clu­de­re ti pro­po­nia­mo un ulteriore esempio con una possibile ap­pli­ca­zio­ne pratica del metodo Java substring. A tal fine im­ma­gi­nia­mo di aver ricevuto i dati di contatto di un cliente in un dato formato. Se ora desideri isolare soltanto la parte che ti interessa, questo metodo è la soluzione migliore per farlo. Creiamo il seguente codice:

public class Main {
	public static void main(String args[]) {
	String Str = new String("247: Bianchi, Mario|bianchim@esempio.com|Milano|12.04.1972");
	System.out.print("Questo è l'indirizzo e-mail del cliente: ");
	System.out.println(Str.substring(20, 40));
	}
}
java

L’output si presenta quindi così:

Questo è l'indirizzo e-mail del cliente: bianchim@esempio.com
java
Vai al menu prin­ci­pa­le