The string split() Metode pārtrauc doto virkni ap dotās regulārās izteiksmes atbilstībām. Pēc sadalīšanas pret doto regulāro izteiksmi šī metode atgriež virknes masīvu.
Input String: 016-78967 Regular Expression: - Output : {'016', '78967'}> Tālāk ir norādīti divi split () metodes Java varianti:
1. Publiskās virknes [] sadalījums (virknes regulārais izteiksmes veids, iekšējais ierobežojums)
Parametri
- regex – norobežojoša regulāra izteiksme Limit – iegūtais slieksnis
Atgriežas
Virkņu masīvs tiek aprēķināts, sadalot doto virkni.
Izņēmums Izmests
PatternSyntaxException – ja norādītās regulārās izteiksmes sintakse nav derīga.
Robežparametram var būt 3 vērtības
- limits > 0 — ja tas tā ir, modelis tiks lietots ne vairāk kā limita 1 reizi, iegūtā masīva garums nepārsniegs n, un iegūtā masīva pēdējais ieraksts saturēs visu ievadi, kas pārsniedz pēdējo atbilstošo modeli. limits <0 — šajā gadījumā modelis tiks lietots pēc iespējas vairāk reižu, un iegūtais masīvs var būt jebkura izmēra. limits = 0 – šajā gadījumā modelis tiks lietots pēc iespējas vairāk reižu, iegūtais masīvs var būt jebkura izmēra, un beigu tukšās virknes tiks izmestas.
Lūk, kā tas darbojas:
Ļaujiet, lai virkne, kas ir jāsadala, ir - geekss@for@geekss
| Regex | Ierobežot | Rezultāts |
|---|---|---|
| @ | 2 | {geekss, for@geekss} |
| @ | 5 | {geekss, for, geekss} |
| @ | -2 | {geekss, for, geekss} |
| s | 5 | {geek, , @for@geek, , } |
| s | -2 | {geek, , , @for@geek, , } |
| s | 0 | {geek, , @for@geek} |
Tālāk ir sniegti Java piemēru kodi, lai parādītu split () darbību.
1. piemērs:
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);> >}> }> |
>
>Izvade
geekss for@geekss>
2. piemērs:
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);> >}> }> |
>
>Izvade
geekss for geekss>
3. piemērs:
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);> >}> }> |
>
>
b+ kokiIzvade
geekss for geekss>
4. piemērs:
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);> >}> }> |
>
>Izvade
geek @for@geek>
5. piemērs:
Java
abc ar cipariem
// 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);> >}> }> |
>
>Izvade
geek @for@geek>
6. piemērs:
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);> >}> }> |
>
>Izvade
geek @for@geek>
2. publisks virknes[] sadalījums (virknes regulārā izteiksme)
Šis sadalīšanas metodes variants izmanto regulāro izteiksmi kā parametru un sadala doto virkni ap šīs regulārās izteiksmes regex atbilstībām. Šeit pēc noklusējuma ierobežojums ir 0.
Parametri
regex – norobežojoša regulāra izteiksme
Atgriežas
Virkņu masīvs tiek aprēķināts, sadalot doto virkni.
Izņēmums Izmests
PatternSyntaxException – ja norādītās regulārās izteiksmes sintakse nav derīga.
Šeit ir daži darba piemēru kodi:
1. piemērs:
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);> >}> }> |
>
>Izvade
techcodeview.com A Computer Science Portal>
2. piemērs:
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);> >}> }> |
>
>Izvade
java savienojošās virknes
Geeks Geeks Students>
Iepriekš minētajā piemērā var redzēt, ka modelis/regulārā izteiksme tiek lietota divas reizes (jo ir divas reizes sadalāmajā virknē).
3. piemērs:
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);> >}> }> |
>
>Izvade
Geeks for Geeks>
4. piemērs:
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);> >}> }> |
>
>Izvade
Geeks for Geeks>
5. piemērs:
reakcijas tabula
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);> >}> }> |
>
>Izvade
Geek>
Iepriekš minētajā piemērā beigu tukšās virknes nav iekļautas iegūtajā masīvā arrOfStr.
6. piemērs:
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);> >}> }> |
>
>Izvade
Geeks Geeks>
Iepriekš minētajā piemērā beigu atstarpes (tātad ne tukša virkne) kļūst par virkni iegūtajā masīvā arrOfStr.
7. piemērs:
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);> >}> }> |
>
>Izvade
word1 word2 word3 word4 word5 word6>
Iepriekš minētajā piemērā vārdi tiek atdalīti ikreiz, kad tiek atrasta kāda no kopā norādītajām rakstzīmēm.