Metoda niza Split() v Javi s primeri

The string split() metoda prekine dani niz okoli ujemanj danega regularnega izraza. Po razdelitvi glede na dani regularni izraz ta metoda vrne matriko nizov.

Input String: 016-78967 Regular Expression: - Output : {'016', '78967'} 

Sledita dve različici metode split() v Javi:

1. Razdelitev javnega niza [] (regularni izraz niza, omejitev int)

Parametri

    regex – razmejitveni regularni izraz Limit – nastali prag

Vračila

Niz nizov se izračuna z razdelitvijo podanega niza.

Vržena izjema

PatternSyntaxException – če podana sintaksa regularnega izraza ni veljavna.

Parameter omejitve ima lahko 3 vrednosti

    limit> 0 – Če je temu tako, bo vzorec uporabljen največkrat limit-1, dolžina nastale matrike ne bo večja od n, zadnji vnos nastale matrike pa bo vseboval ves vnos, ki presega zadnji ujemajoči se vzorec. omejitev <0 – V tem primeru bo vzorec uporabljen tolikokrat, kot je mogoče, in nastala matrika je lahko poljubne velikosti. limit = 0 – V tem primeru bo vzorec uporabljen tolikokrat, kot je mogoče, nastala matrika je lahko poljubne velikosti, zadnji prazni nizi pa bodo zavrženi.

Takole deluje:

Naj bo niz, ki ga je treba razdeliti – geekss@za@geekss

Regex Omejitev Rezultat
@ 2 {geekss, za@geekss}
@ 5 {geekss, za, geekss}
@ -2 {geekss, za, geekss}
s 5 {geek, , @za@geek, , }
s -2 {geek, , , @za@geek, , }
s 0 {geek, , @za@geek}

Sledijo primeri kod Java za prikaz delovanja split()

Primer 1:

Java




// Java program to demonstrate working of split(regex,> // limit) with small limit.> public> class> GFG {> > // Main driver method> > public> static> void> main(String args[])> > {> > // Custom input string> > String str => 'geekss@for@geekss'> ;> > String[] arrOfStr = str.split(> '@'> ,> 2> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

geekss for@geekss 

Primer 2:

Java




// Java program to demonstrate working of split(regex,> // limit) with high limit.> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'geekss@for@geekss'> ;> > String[] arrOfStr = str.split(> '@'> ,> 5> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

geekss for geekss 

Primer 3:

Java




// Java program to demonstrate working of split(regex,> // limit) with negative limit.> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'geekss@for@geekss'> ;> > String[] arrOfStr = str.split(> '@'> , -> 2> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

geekss for geekss 

Primer 4:

Java




// Java program to demonstrate working of split(regex,> // limit) with high limit.> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'geekss@for@geekss'> ;> > String[] arrOfStr = str.split(> 's'> ,> 5> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

geek @for@geek 

Primer 5:

Java




// Java program to demonstrate working of split(regex,> // limit) with negative limit.> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'geekss@for@geekss'> ;> > String[] arrOfStr = str.split(> 's'> , -> 2> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

geek @for@geek 

Primer 6:

Java




// Java program to demonstrate working of split(regex,> // limit) with 0 limit.> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'geekss@for@geekss'> ;> > String[] arrOfStr = str.split(> 's'> ,> 0> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

geek @for@geek 

2. javna razdelitev niza [] (reg. izraz niza)

Ta različica metode razdelitve vzame regularni izraz kot parameter in razbije dani niz okoli ujemanj tega regularnega izraza regularnega izraza. Tukaj je privzeta omejitev 0.

Parametri

regex – ločilni regularni izraz

Vračila

Niz nizov se izračuna z razdelitvijo podanega niza.

Vržena izjema

PatternSyntaxException – če podana sintaksa regularnega izraza ni veljavna.

Tukaj je nekaj delujočih primerov kod:

Primer 1:

Java




// Java program to demonstrate working of split()> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str> > => 'techcodeview.com:A Computer Science Portal'> ;> > String[] arrOfStr = str.split(> ':'> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

techcodeview.com A Computer Science Portal 

Primer 2:

Java




// Java program to demonstrate working of split()> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'techcodeview.comforStudents'> ;> > String[] arrOfStr = str.split(> 'for'> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

Geeks Geeks Students 

V zgornjem primeru je razvidno, da je vzorec/regularni izraz za uporabljen dvakrat (ker je for prisoten dvakrat v nizu, ki ga je treba razdeliti)

Primer 3:

Java




// Java program to demonstrate working of split()> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'Geeks for Geeks'> ;> > String[] arrOfStr = str.split(> ' '> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

Geeks for Geeks 

Primer 4:

Java




// Java program to demonstrate working of split()> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'Geeks.for.Geeks'> ;> > String[] arrOfStr> > = str.split(> '[.]'> );> // str.split('.'); will give> > // no output...> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

Geeks for Geeks 

Primer 5:

Java




// Java program to demonstrate working of split()> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'Geekssss'> ;> > String[] arrOfStr = str.split(> 's'> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

Geek 

V zgornjem primeru zadnji prazni nizi niso vključeni v nastalo matriko arrOfStr.

Primer 6:

Java




// Java program to demonstrate working of split()> public> class> GFG {> > // Main driver method> > public> static> void> main(String args[])> > {> > String str => 'GeeksforforGeeksfor '> ;> > String[] arrOfStr = str.split(> 'for'> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

Geeks Geeks 

V zgornjem primeru končni presledki (torej ne prazen niz) postanejo niz v nastali matriki arrOfStr.

Primer 7:

Java




// Java program to demonstrate working of split()> // using regular expressions> public> class> GFG {> > public> static> void> main(String args[])> > {> > String str => 'word1, word2 word3@word4?word5.word6'> ;> > String[] arrOfStr = str.split(> '[, ?.@]+'> );> > for> (String a : arrOfStr)> > System.out.println(a);> > }> }>

Izhod

word1 word2 word3 word4 word5 word6 

V zgornjem primeru so besede ločene vsakič, ko naletite na enega od znakov, navedenih v nizu.