Il metodo Java String substring() restituisce la sottostringa di questa stringa. Questo metodo restituisce sempre una nuova stringa e la stringa originale rimane invariata perché String è immutabile in Java.
Metodi Java String substring()
Il metodo Java String substring è sovraccaricato e ha due varianti.
substring(int beginIndex)
: Questo metodo restituisce una nuova stringa che è una sottostringa di questa stringa. La sottostringa inizia con il carattere all’indice specificato ed estende fino alla fine di questa stringa.substring(int beginIndex, int endIndex)
: La sottostringa inizia all’indice beginIndex specificato e si estende al carattere all’indice endIndex – 1. Quindi la lunghezza della sottostringa è (endIndex – beginIndex).
Punti Importanti del Metodo substring() della Stringa
- Entrambi i metodi di sottosequenza della stringa possono generare
IndexOutOfBoundsException
se si verificano una qualsiasi delle seguenti condizioni.- se beginIndex è negativo
- endIndex è maggiore della lunghezza di questo oggetto String
- beginIndex è maggiore di endIndex
- beginIndex è inclusivo ed endIndex è esclusivo in entrambi i metodi di sottosequenza.
Esempio di sottosequenza di String in Java
Ecco un programma semplice per la sottosequenza in Java.
package com.journaldev.util;
public class StringSubstringExample {
public static void main(String[] args) {
String str = "www.journaldev.com";
System.out.println("Last 4 char String: " + str.substring(str.length() - 4));
System.out.println("First 4 char String: " + str.substring(0, 4));
System.out.println("website name: " + str.substring(4, 14));
}
}
Output del programma di esempio di sottosequenza sopra è:
Last 4 char String: .com
First 4 char String: www.
website name: journaldev
Verifica del palindromo utilizzando il metodo substring()
Possiamo utilizzare il metodo substring() per verificare se una stringa è un palindromo o no.
package com.journaldev.util;
public class StringPalindromeTest {
public static void main(String[] args) {
System.out.println(checkPalindrome("abcba"));
System.out.println(checkPalindrome("XYyx"));
System.out.println(checkPalindrome("871232178"));
System.out.println(checkPalindrome("CCCCC"));
}
private static boolean checkPalindrome(String str) {
if (str == null)
return false;
if (str.length() <= 1) {
return true;
}
String first = str.substring(0, 1);
String last = str.substring(str.length() - 1);
if (!first.equals(last))
return false;
else
return checkPalindrome(str.substring(1, str.length() - 1));
}
}
Qui stiamo controllando se la prima lettera e l’ultima lettera sono uguali o meno. Se non sono uguali, restituisci false. Altrimenti, chiama nuovamente il metodo in modo ricorsivo passando la sottostringa con la prima e l’ultima lettera rimosse.
Puoi controllare più esempi di stringa dal nostro Repository GitHub.
Riferimento: Documentazione API di Oracle
Source:
https://www.digitalocean.com/community/tutorials/java-string-substring