Ejemplos del Método substring() de Java String

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.

  1. 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.
  2. 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()

  1. 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
  2. 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