División de cadena Java ()

El método Java String split () divide la cadena en la expresión regular especificada y devuelve una matriz de subcadenas.

La sintaxis del split()método de cadena es:

 string.split(String regex, int limit)

Aquí, la cadena es un objeto de la Stringclase.

Parámetros split ()

El split()método de cadena puede tomar dos parámetros:

  • regex : la cadena se divide en esta expresión regular (pueden ser cadenas)
  • límite (opcional): controla el número de subcadenas resultantes

Si limitno se pasa el parámetro, split()devuelve todas las subcadenas posibles.

split () Valor devuelto

  • devuelve una matriz de subcadenas

Nota: Si la expresión regular pasada split()no es válida, el split()método genera una PatternSyntaxExpressionexcepción.

Ejemplo 1: split () sin parámetro de límite

 // importing Arrays to convert array to string // used for printing arrays import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a::b::c::d:e"; // splitting the string at "::" // storing the result in an array of strings String() result = vowels.split("::"); // converting array to string and printing it System.out.println("result = " + Arrays.toString(result)); ) )

Salida

 resultado = (a, b, c, d: e)

Aquí, dividimos la cuerda en ::. Dado limitque no se pasa el parámetro, la matriz devuelta contiene todas las subcadenas.

split () Con parámetro de límite

  • Si el limitparámetro es 0 o negativo, split()devuelve una matriz que contiene todas las subcadenas.
  • Si el limitparámetro es positivo (digamos n), split()devuelve el máximo de nsubcadenas.

Ejemplo 2: split () con parámetro de límite

 // importing Arrays to convert array to string import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a:bc:de:fg:h"; // splitting array at ":" // limit is -2; array contins all substrings String() result = vowels.split(":", -2); System.out.println("result when limit is -2 = " + Arrays.toString(result)); // limit is 0; array contains all substrings result = vowels.split(":", 0); System.out.println("result when limit is 0 = " + Arrays.toString(result)); // limit is 2; array contains a maximum of 2 substrings result = vowels.split(":", 2); System.out.println("result when limit is 2 = " + Arrays.toString(result)); // limit is 4; array contains a maximum of 4 substrings result = vowels.split(":", 4); System.out.println("result when limit is 4 = " + Arrays.toString(result)); // limit is 10; array contains a maximum of 10 substrings result = vowels.split(":", 10); System.out.println("result when limit is 10 = " + Arrays.toString(result)); ) )

Salida

 resultado cuando el límite es -2 = (a, bc, de, fg, h) resultado cuando el límite es 0 = (a, bc, de, fg, h) resultado cuando el límite es 2 = (a, bc: de: fg: h) resultado cuando el límite es 4 = (a, bc, de, fg: h) resultado cuando el límite es 10 = (a, bc, de, fg, h)

Nota: El método split () toma regex como primer argumento. Si es necesario utilizar caracteres especiales como: , |, ^, *, +etc, tiene que escapar estos caracteres. Por ejemplo, necesitamos usar \+para dividir en +.

Ejemplo 3: split () en el carácter +

 // importing Arrays to convert array to string // used for printing arrays import java.util.Arrays; class Main ( public static void main(String() args) ( String vowels = "a+e+f"; // splitting the string at "+" String() result = vowels.split("\+"); // converting array to string and printing it System.out.println("result = " + Arrays.toString(result)); ) )

Salida

 resultado = (a, e, f)

Aquí, para dividir una cadena en +, hemos usado \+. Es porque +es un carácter especial (tiene un significado especial en expresiones regulares).

Articulos interesantes...