El método `substring()` de Java devuelve la subcadena de esta cadena. Este método siempre devuelve una nueva cadena y la cadena original permanece sin cambios porque String es inmutable en Java.
Los métodos substring() de Java String
El método `substring` de Java String está sobrecargado y tiene dos variantes.
substring(int beginIndex)
: Este método devuelve una nueva cadena que es una subcadena de esta cadena. La subcadena comienza con el carácter en el índice especificado y se extiende hasta el final de esta cadena.substring(int beginIndex, int endIndex)
: La subcadena comienza en el beginIndex especificado y se extiende hasta el carácter en el índice endIndex – 1. Por lo tanto, la longitud de la subcadena es (endIndex – beginIndex).
Puntos importantes del método substring()
- Ambos métodos de subcadena de cadena pueden lanzar `
IndexOutOfBoundsException
` si se cumplen alguna de las siguientes condiciones.- si beginIndex es negativo
- endIndex es mayor que la longitud de este objeto String
- beginIndex es mayor que endIndex
- beginIndex es inclusivo y endIndex es exclusivo en ambos métodos de subcadena.
Ejemplo de substring en Java
Aquí hay un programa simple para la subcadena en 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));
}
}
La salida del programa de ejemplo de subcadena anterior es:
Last 4 char String: .com
First 4 char String: www.
website name: journaldev
Comprobando palíndromos usando el método substring()
Podemos usar el método substring() para verificar si una cadena es un palíndromo 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));
}
}
Aquí estamos verificando si la primera letra y la última letra son iguales o no. Si no son iguales, devuelve falso. De lo contrario, llama al método nuevamente de manera recursiva pasando la subcadena con la primera y última letra eliminadas.
Puede consultar más ejemplos de cadenas en nuestro Repositorio de GitHub.
Referencia: Documentación de la API de Oracle
Source:
https://www.digitalocean.com/community/tutorials/java-string-substring