Cómo dividir una cadena en Java

Hassan Saeed 11 diciembre 2023
Cómo dividir una cadena en Java

Este tutorial trata sobre cómo dividir una cadena en Java.

String en Java es uno de los tipos de datos no primitivos y se utiliza para almacenar una secuencia de caracteres. Podemos declarar una variable de cadena simplemente de la siguiente manera:

String string = "I am a string";
String string1 = "I am another string";

Podríamos necesitar realizar varias tareas de procesamiento de cadenas, dependiendo de lo que estamos tratando de lograr. Consideremos el caso en el que tenemos una cadena que representa datos en formato CSV, todos separados por una coma.

String data = "Apple,Banana,Orange,Peach";

Queremos todas las cadenas individuales de esto; por lo tanto necesitamos dividir la cadena basada en la coma para separar los datos para obtener la siguiente salida.

> Apple
> Banana
> Orange
> Peach

Las cadenas de Java tienen una función de división por defecto String#split() que toma una expresión regular como entrada y devuelve un array de cadenas resultantes después de la división en la entrada dada.

El siguiente ejemplo ilustra cómo utilizar este método para dividir una cadena dada en Java.

public class Main {
  public static void main(String args[]) {
    String data = "Apple,Banana,Orange,Peach";
    String[] splitted = data.split(",");
    for (int i = 0; i < splitted.length; i++) {
      System.out.println(splitted[i]);
    }
  }
}

El código anterior da como resultado lo siguiente.

Apple
Banana
Orange
Peach

Probemos este método para dividir una cadena en un parámetro diferente.

Dividir en un punto

Esta vez tenemos una cadena como esta: "One.Two.Three.Four". Usemos el mismo método de nuevo para dividirla.

public class Main {
  public static void main(String args[]) {
    String data = "One.Two.Three.Four";
    String[] splitted = data.split(".");
    for (int i = 0; i < splitted.length; i++) {
      System.out.println(splitted[i]);
    }
  }
}

¡El código anterior no producirá nada! Recadena, mencionamos que la función split toma un patrón de expresión regular como entrada. Por lo tanto, necesitamos tomar medidas extra cuando queremos dividir en algunos caracteres especiales.

Allí hay 12 caracteres con significados especiales:

  • la barra invertida \
  • el caret ^
  • el signo del dólar $
  • el punto o punto .
  • el símbolo de barra vertical o tubería |
  • el signo de interrogación ?
  • el asterisco o la estrella *
  • el signo más +
  • el paréntesis de apertura (
  • el paréntesis de cierre )
  • y el corchete de apertura [
  • la abrazadera rizada de apertura {

Estos carácters especiales a menudo se llaman metacaracteres.

Si queremos dividir nuestra cadena en cualquiera de los caracteres anteriores, podemos usar la barra invertida \ para escapar de estos caracteres especiales, así que usa data.split('\\.') en lugar de data.split('.').

public class Main {
  public static void main(String args[]) {
    String data = "One.Two.Three.Four";
    String[] splitted = data.split("\\.");
    for (int i = 0; i < splitted.length; i++) {
      System.out.println(splitted[i]);
    }
  }
}

El código anterior ahora sale correctamente:

One
Two
Three
Four

Intentemos un ejemplo más.

Split en una cadena

Esta vez tenemos una cadena como esta: "OneFruitTwoFruitThreeFruit". Usemos el mismo método de nuevo para dividirla basándonos en la cadena Fruit.

public class Main {
  public static void main(String args[]) {
    String data = "OneFruitTwoFruitThreeFruit";
    String[] splitted = data.split("Fruit");
    for (int i = 0; i < splitted.length; i++) {
      System.out.println(splitted[i]);
    }
  }
}

El código anterior da como resultado:

One
Two
Three

Ahora sabemos cómo dividir una cadena en Java en cualquier parámetro dado.

Artículo relacionado - Java String