Java String split() Método con ejemplos

Java String split() Método con ejemplos

  • Autor de la entrada:
  • Categoría de la entrada:Java
  • Comentarios de la entrada:Sin comentarios

El método de división de cadenas de Java se utiliza para dividir una cadena en sus subcadenas basándose en el delimitador o la expresión regular dados.

Por ejemplo:

String: [correo electrónico protegido] Expresión regular: @ Salida : {"chaitanya", "singh"}

Método de división de cadenas de Java

Tenemos dos variantes del método split() en la clase String.

1. String[] split(String regex): Devuelve una matriz de cadenas después de dividir un String de entrada en base a la expresión regular de delimitación.

2. String[] split(String regex, int limit): Este método de división de cadenas de Java se utiliza cuando queremos que las subcadenas estén limitadas. La única diferencia entre este método y el anterior es que limita el número de cadenas devueltas después de la división. Por ejemplo, split(«cualquierdelimitador», 3) devolvería el array de sólo 3 cadenas aunque el delimitador esté presente en la cadena más de 3 veces.

Si el límite es negativo, entonces la matriz devuelta tendría tantas subcadenas como fuera posible, sin embargo cuando el límite es cero, entonces la matriz devuelta tendría todas las subcadenas excluyendo las cadenas vacías que quedan.

Lanza PatternSyntaxException si la sintaxis de la expresión regular especificada no es válida.

Split de cadenas de Java Ejemplo

clase pública SplitExample{ public static void main(String args[]){ // Esto es out input String String str = new String("28/12/2013"); System.out.println("split(String regex):"); /* Aquí estamos usando la primera variación del método de división de cadenas de java * que divide la cadena en subcadena en base a la expresión regular *, no hay límite en las subcadenas */ String array1[]= str.split("/"); for (String temp: array1){ System.out.println(temp); } /* Utilizando la segunda variación del método de división aquí. Dado que el límite se pasa * como 2. Este método sólo produciría dos substrings. */ System.out.println("split(String regex, int limit) with limit=2:"); String array2[]= str.split("/", 2); for (String temp: array2){ System.out.println(temp); } System.out.println("split(String regex, int limit) with limit=0:"); String array3[]= str.split("/", 0); for (String temp: array3){ System.out.println(temp); } /* Cuando pasamos el límite como negativo. El método split funciona igual que la primera variación * porque el límite negativo dice que el método devuelve subcadenas sin límite. */ System.out.println("split(String regex, int limit) with limit=-5:"); String array4[]= str.split("/", -5); for (String temp: array4){ System.out.println(temp); } }}

Salida:

split(String regex):28122013split(String regex, int limit) con límite=2:2812/2013split(String regex, int limit) con límite=0:28122013split(String regex, int limit) con límite=-5:28122013

Diferencia entre el límite cero y el límite negativo en el método de división de cadenas de Java

En el ejemplo anterior, split(«/»,0) y split(«/»,-5) devolvieron el mismo valor, sin embargo, en algunos casos el resultado sería diferente. Veamos la diferencia entre estos dos con la ayuda de un ejemplo:

String s="bbaaccaa";String arr1[]= s.split("a", -1);String arr2[]= s.split("a", 0);

En este caso arr1 tendría {«bb», » » «, «cc», » «, » «} Sin embargo arr2 tendría {«bb», » » «, «cc»} porque el límite cero excluye probar Cuerdas vacías.

Veamos el programa completo.

public class JavaExample{ public static void main(String args[]){ // Esta es nuestra entrada String String s = new String("bbaaccaa"); //Splitting con límite como 0 String arr2[]= s.split("a", 0); System.out.println("Zero Limit split:"); for (String str2: arr2){ System.out.println(str2); } //Splitting con límite negativo String arr1[]= s.split("a", -1); System.out.println("Negative Limit split:"); para (String str: arr1){ System.out.println(str); } System.out.println("Fin de programa"); }}

Salida:
La cadena de Java se dividió

Java String dividido con múltiples delimitadores (caracteres especiales)

Veamos cómo podemos pasar múltiples delimitadores mientras usamos el método split().

En este ejemplo estamos dividiendo la cadena de entrada en base a múltiples caracteres especiales.

public class JavaExample{ public static void main(String args[]){ String s = " ,ab;gh,bc;pq#kk$bb"; String[] str = s.split("[,;#$]"); //Total cuántas subcadenas? La longitud de la matriz System.out.println("Número de subcadenas: "+str.length); for (int i=0; i < str.length; i++) { System.out.println("Str["+i+"]:"+str[i]); } }}

Salida:
La cadena de Java divide varios caracteres, divide varios caracteres especiales

Practiquemos algunos ejemplos más:

Ejemplo: la palabra como expresión regular en Java Método de división de cadenas

clase pública SplitExample1 { public static void main(String args[]) { String str = "helloxyzhixyzbye"; String[] arr = str.split("xyz"); for (String s : arr) System.out.println(s); } }

Salida:

hellohibye

Ejemplo: dividir la cadena basada en los espacios en blanco

clase pública SplitEjemplo2 { public static void main(String args[]) { String str = "Mi nombre es Chaitanya"; //la expresión regular es un espacio en blanco aquí String[] arr = str.split(" "); for (String s : arr) System.out.println(s); } }

Salida:

MynameisChaitanya

❮ AnteriorSiguiente ❯

Deja una respuesta