Java String split ()

Metoda Java String split () rozděluje řetězec na zadaný regulární výraz a vrací pole podřetězců.

Syntaxe řetězcové split()metody je:

 string.split(String regex, int limit)

Zde je řetězec objektem Stringtřídy.

split () parametry

Metoda řetězce split()může mít dva parametry:

  • regex - řetězec je v tomto regexu rozdělen (mohou to být řetězce)
  • limit (volitelně) - řídí počet výsledných podřetězců

Pokud limitparametr není předán, split()vrátí všechny možné podřetězce.

split () návratová hodnota

  • vrací pole podřetězců

Poznámka: Pokud je regulární výraz předán split()neplatný, split()metoda vyvolá PatternSyntaxExpressionvýjimku.

Příklad 1: split () Bez limitu Parametr

 // 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)); ) )

Výstup

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

Tady jsme rozdělili řetězec na ::. Protože limitparametr není předán, vrácené pole obsahuje všechny podřetězce.

split () S limitním parametrem

  • Pokud je limitparametr 0 nebo záporný, split()vrátí pole obsahující všechny podřetězce.
  • Pokud je limitparametr kladný (řekněme n), split()vrátí maximum npodřetězců.

Příklad 2: split () S limitním parametrem

 // 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)); ) )

Výstup

 výsledek, když je limit -2 = (a, bc, de, fg, h) výsledek, když je limit 0 = (a, bc, de, fg, h) výsledek, když je limit 2 = (a, bc: de: fg: h) výsledek, když je limit 4 = (a, bc, de, fg: h) výsledek, když je limit 10 = (a, bc, de, fg, h)

Poznámka: Metoda split () bere jako první argument regex. Potřebujete-li použít speciální znaky, jako jsou: , |, ^, *, +atd, je nutné, aby se vyhnuli tyto znaky. Například musíme použít \+k rozdělení na +.

Příklad 3: split () u znaku +

 // 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)); ) )

Výstup

 výsledek = (a, e, f)

Tady, abychom rozdělili řetězec na +, jsme použili \+. Je to proto, že se +jedná o speciální znak (má v regulárních výrazech zvláštní význam).

Zajímavé články...