¿Cómo usar String.substring() en Java para dividir cadenas?

| Última modificación: 16 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Hay tareas en Java que parecen simples, pero si no usas la herramienta o el método adecuado puedes volverte un ocho. ¿A qué me refiero? Por ejemplo, cuando necesitas extraer partes específicas de una cadena, extraer palabras clave, separar nombres o recortar un texto. Yo aprendí que para todas estas tareas puedo usar String.substring() en Java. Por eso quiero enseñártelo para que dejes de complicarte a la hora de aprender a programar con Java.

String.substring() en Java qué es

¿Qué es String.substring() en Java?

Te contaba que String.substring() en Java es una gran herramienta para extraer una parte específica de una cadena. Para que lo entiendas mejor, imagínalo como unas tijeras virtuales que cortan justo el pedazo que necesitas de un texto.

Hay dos variantes principales:

  1. substring(int start): Este es el que devuelve una subcadena que empieza desde el índice especificado y llega hasta el final de la cadena.
  2. substring(int start, int end): Con este se devuelve una subcadena que comienza en el índice de inicio (start) y termina justo antes del índice de fin (end).

Sintaxis

public String substring(int start)
public String substring(int start, int end)

Parámetros:

  • start: Sería el índice donde comienza la subcadena (incluido).
  • end: Es el índice donde termina la subcadena (no incluido). Recuerda que este parámetro es opcional.

Algo muy importante que debes saber es que, si los valores de start o end están fuera de los límites de la cadena, el método lanza una IndexOutOfBoundsException.

¿Cómo usar String.substring() en Java? Ejemplos prácticos

Extraer una palabra de una frase

Para este primer ejemplo quiero que imagines que tienes una cadena y solo necesitas la primera palabra:

String frase = "Hola, bienvenido a Java";
String palabra = frase.substring(0, 4);
System.out.println(palabra);

Así verás la salida:

Hola

¿Pudiste darte cuenta? Mira que, en este caso, el índice 0 es el inicio de la subcadena, y el índice 4 es el punto donde termina (no incluido).

Extraer un apellido

Este es otro ejemplo práctico que me gusta mucho. Si tienes un nombre completo y quieres separar el apellido, hazlo así:

String nombreCompleto = "Juan Pérez";
String apellido = nombreCompleto.substring(5);
System.out.println(apellido);

Observa la salida:

Pérez

¿Viste?, mira que usé la variante de substring que solo requiere el índice de inicio (5), tomando todo desde esa posición hasta el final.

Dividir una URL

Ahora bien, si lo que necesitas es extraer el dominio de una URL, te recomiendo esto:

String url = "https://www.keepcoding.io";
String dominio = url.substring(8, 21);
System.out.println(dominio);

Esta sería la salida:

www.keepcoding.io

¿Ya te diste cuenta? Aquí te mostré que, con los índices correctos, puedes tomar solo la parte que te interesa.

Tomar las iniciales de un nombre

En este caso lo que harás será obtener las iniciales de un nombre:

String nombre = "María Fernanda López";
String iniciales = nombre.substring(0, 1) + nombre.substring(6, 7) + nombre.substring(15, 16);
System.out.println(iniciales);

Mira la salida:

MFL

Extraer el nombre de archivo de una ruta

Este ejemplo te enseñará mucho, porque cuando tienes una ruta de archivo, puedes usar substring para tomar solo el nombre del archivo:

String ruta = "/usuario/documentos/proyecto.java";
String archivo = ruta.substring(ruta.lastIndexOf("/") + 1);
System.out.println(archivo);

La salida se ve así:

proyecto.java

¿Viste lo que hice? Combiné substring con lastIndexOf para encontrar el último separador / y cortar desde allí.

Ventajas de usar String.substring() en Java

  • Precisión: Puedes extraer exactamente la parte de la cadena que necesitas.
  • Versatilidad: Ideal para dividir nombres, URLs, rutas de archivo y más.
  • Facilidad de uso: Su sintaxis clara lo hace muy accesible incluso para principiantes.

Consejos que debes seguir al usar String.substring() en Java

  • Verifica los índices: Asegúrate de que start y end estén dentro de los límites de la cadena para evitar excepciones.
  • Combina con otros métodos: Usa indexOf o lastIndexOf para encontrar posiciones dinámicas antes de usar substring.
  • Documenta tu código: Explica por qué elegiste ciertos índices para hacer el código más legible.

Ya sabes que String.substring() en Java es excelente para manipular cadenas de texto. Desde separar palabras hasta extraer nombres de archivos, su versatilidad lo convierte en un método indispensable para desarrolladores de todos los niveles.

Anímate a ser desarrollador Java Full Stack con nuestro Bootcamp. Nosotros te guiaremos en este camino donde aprenderás todo sobre Java. También te ayudaremos a dominar este lenguaje de programación y muchas otras tecnologías en tiempo récord. ¡Inscríbete ahora y lleva tu carrera al siguiente nivel!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Java y Spring Boot

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado