Java String split ()

Metoda Java String split () dijeli niz na navedenom regularnom izrazu i vraća niz podnizova.

Sintaksa string split()metode je:

 string.split(String regex, int limit)

Ovdje je string objekt Stringklase.

split () Parametri

Metoda niza split()može imati dva parametra:

  • regularni izraz - niz je podijeljen na ovom regularnom izrazu (mogu biti nizovi)
  • limit (neobavezno) - kontrolira broj rezultirajućih podnizova

Ako limitparametar nije proslijeđen, split()vraća sve moguće podnizove.

split () Povratna vrijednost

  • vraća niz podnizova

Napomena: Ako je regularni izraz prosljeđen split()nevaljanom, split()metoda postavlja PatternSyntaxExpressioniznimku.

Primjer 1: split () Bez ograničenja Parametar

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

Izlaz

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

Ovdje smo podijelili niz na ::. Budući da limitparametar nije proslijeđen, vraćeni niz sadrži sve podnizove.

split () S ograničenjem Parametar

  • Ako je limitparametar 0 ili negativan, split()vraća niz koji sadrži sve podnizove.
  • Ako je limitparametar pozitivan (recimo n), split()vraća maksimum npodniza.

Primjer 2: split () s graničnim parametrom

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

Izlaz

 rezultat kada je ograničenje -2 = (a, bc, de, fg, h) rezultat kada je ograničenje 0 = (a, bc, de, fg, h) rezultat kada je ograničenje 2 = (a, bc: de: fg: h) rezultat kada je ograničenje 4 = (a, bc, de, fg: h) rezultat kada je ograničenje 10 = (a, bc, de, fg, h)

Napomena: Metoda split () uzima regex kao prvi argument. Ako trebate koristiti posebne znakove kao što su: , |, ^, *, +itd, morate pobjeći ove znakove. Na primjer, trebamo koristiti \+za razdvajanje na +.

Primjer 3: split () na znak +

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

Izlaz

 rezultat = (a, e, f)

Ovdje +smo koristili za razdvajanje niza \+. To je zato što +je poseban karakter (u regularnim izrazima ima posebno značenje).

Zanimljivi članci...