Cuando trabajamos con texto en Java, una de las operaciones más habituales consiste en separar una cadena en varias partes.
Para ello, Java ofrece el método split(), una herramienta sencilla pero muy potente que permite dividir una cadena utilizando un delimitador o una expresión regular.
Este método resulta especialmente útil para procesar archivos CSV, analizar entradas de usuario, trabajar con URLs o manipular datos estructurados.
¿Qué es el método split() en Java?
El método split() pertenece a la clase String y permite dividir una cadena en múltiples fragmentos utilizando un patrón específico.
Por ejemplo, si tenemos una lista de nombres separados por comas:
String nombres = "Ana,Carlos,María,Pedro";
Podemos convertirla en un array de cadenas mediante:
String[] resultado = nombres.split(",");
El resultado será:
Ana
Carlos
María
Pedro
Sintaxis del método split()
Java ofrece dos versiones principales del método:
public String[] split(String regex)
public String[] split(String regex, int limit)
Parámetros
| Parámetro | Descripción |
|---|---|
regex | Expresión regular utilizada como delimitador |
limit | Número máximo de divisiones que se realizarán |
Ejemplo: dividir una cadena por comas
Supongamos que tenemos una cadena con varios valores separados por comas.
public class StrSplit {
public static void main(String[] args) {
String strMain = "Alpha, Beta, Delta, Gamma, Sigma";
String[] arrSplit = strMain.split(", ");
for (String valor : arrSplit) {
System.out.println(valor);
}
}
}
Salida
Alpha
Beta
Delta
Gamma
Sigma
En este caso, el delimitador es ", " (coma seguida de espacio).
Ejemplo usando el parámetro limit
En ocasiones no queremos dividir toda la cadena, sino únicamente un número determinado de veces.
Por ejemplo:
public class StrSplit2 {
public static void main(String[] args) {
String strMain = "Alpha, Beta, Delta, Gamma, Sigma";
String[] arrSplit = strMain.split(", ", 3);
for (String valor : arrSplit) {
System.out.println(valor);
}
}
}
Salida
Alpha
Beta
Delta, Gamma, Sigma
¿Qué ocurre aquí?
El valor 3 indica que el array resultante tendrá como máximo tres elementos:
- Alpha
- Beta
- Delta, Gamma, Sigma
Después de alcanzar el límite, Java deja intacto el resto de la cadena.
¿Cómo dividir una cadena por espacios?
Una situación muy frecuente consiste en separar palabras dentro de una frase.
public class StrSplit3 {
public static void main(String[] args) {
String strMain = "Bievenido a CIBERED";
String[] arrSplit = strMain.split("\\s");
for (String palabra : arrSplit) {
System.out.println(palabra);
}
}
}
Salida
Bienvenido
a
CIBERED
¿Qué significa \\s?
En expresiones regulares:
\\s
representa cualquier espacio en blanco:
- espacio normal
- tabulación
- salto de línea
- retorno de carro
Por ello suele ser más flexible que dividir usando simplemente " ".
Dividir usando varios delimitadores
También es posible utilizar expresiones regulares para dividir por más de un carácter.
Ejemplo:
String texto = "Java,Python;C++|JavaScript";
String[] resultado = texto.split("[,;|]");
Resultado
Java
Python
C++
JavaScript
La expresión:
[,;|]
indica que cualquiera de esos caracteres puede actuar como separador.
Consideraciones importantes
split() utiliza expresiones regulares
Esto significa que algunos caracteres especiales deben escaparse.
Por ejemplo, para dividir por punto:
String texto = "www.google.com";
String[] resultado = texto.split("\\.");
Salida:
www
google
com
Si utilizáramos simplemente ".", Java interpretaría el punto como una expresión regular que significa "cualquier carácter".
El resultado siempre es un array
El método devuelve un:
String[]
Por lo tanto, podemos recorrer los resultados usando:
for(String item : resultado){
System.out.println(item);
}
Conclusión
El método split() es una de las herramientas más utilizadas para manipular texto en Java. Permite dividir cadenas utilizando delimitadores simples o expresiones regulares complejas, generando un array con cada fragmento obtenido.
Las formas más habituales de uso son:
split(",")
Dividir por comas.
split("\\s")
Dividir por espacios.
split(regex, limite)
Limitar el número de divisiones.
Dominar split() es fundamental para trabajar con procesamiento de texto, archivos CSV, entradas de usuario y análisis de datos en aplicaciones Java.
