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);> >}> }> |
>
>
normalne oblikeIzhod
geekss for geekss>
Primer 4:
Java
ZDA koliko mest
// 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);> >}> }> |
>
ne
>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:
js set
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.