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 String
clase.
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 limit
no 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 PatternSyntaxExpression
excepció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 limit
que no se pasa el parámetro, la matriz devuelta contiene todas las subcadenas.
split () Con parámetro de límite
- Si el
limit
parámetro es 0 o negativo,split()
devuelve una matriz que contiene todas las subcadenas. - Si el
limit
parámetro es positivo (digamosn
),split()
devuelve el máximo den
subcadenas.
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).