Split() String metóda v Jave s príkladmi
The string split() metóda rozbije daný reťazec okolo zhôd daného regulárneho výrazu. Po rozdelení podľa daného regulárneho výrazu táto metóda vráti pole reťazcov.
Input String: 016-78967 Regular Expression: - Output : {'016', '78967'} Nasledujú dva varianty metódy split() v jazyku Java:
1. Rozdelenie verejného reťazca [] (regulárny výraz reťazca, limit int)
Parametre
- regex – ohraničujúci regulárny výraz Limit – výsledná hranica
Návraty
Pole reťazcov sa vypočíta rozdelením daného reťazca.
Vhodená výnimka
PatternSyntaxException – ak je zadaná syntax regulárneho výrazu neplatná.
Limitný parameter môže mať 3 hodnoty
- limit> 0 – Ak je to tak, vzor sa použije najviac limit-1-krát, výsledná dĺžka poľa nebude väčšia ako n a posledná položka výsledného poľa bude obsahovať všetky vstupy nad rámec posledného zhodného vzoru. limit <0 – V tomto prípade bude vzor použitý toľkokrát, ako je to možné, a výsledné pole môže mať ľubovoľnú veľkosť. limit = 0 – V tomto prípade sa vzor použije toľkokrát, koľkokrát je to možné, výsledné pole môže mať ľubovoľnú veľkosť a koncové prázdne reťazce sa zahodia.
Funguje to takto:
Nech reťazec, ktorý sa má rozdeliť, je – geekss@for@geekss
| Regex | Limit | Výsledok |
|---|---|---|
| @ | 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} |
Nasledujú príklady kódov Java, ktoré demonštrujú fungovanie funkcie split()
Príklad 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);> > }> }> |
Výkon
geekss for@geekss
Príklad 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);> > }> }> |
Výkon
geekss for geekss
Príklad 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);> > }> }> |
Výkon
geekss for geekss
Príklad 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);> > }> }> |
Výkon
geek @for@geek
Príklad 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);> > }> }> |
Výkon
geek @for@geek
Príklad 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);> > }> }> |
Výkon
geek @for@geek
2. public String[] split (Reťazec regulárny výraz)
Tento variant metódy split berie ako parameter regulárny výraz a rozdeľuje daný reťazec okolo zhôd tohto regulárneho výrazu. Tu je predvolený limit 0.
Parametre
regulárny výraz – ohraničujúci regulárny výraz
Návraty
Pole reťazcov sa vypočíta rozdelením daného reťazca.
Vhodená výnimka
PatternSyntaxException – ak je zadaná syntax regulárneho výrazu neplatná.
Tu je niekoľko funkčných príkladov kódov:
Príklad 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);> > }> }> |
Výkon
techcodeview.com A Computer Science Portal
Príklad 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);> > }> }> |
Výkon
Geeks Geeks Students
Vo vyššie uvedenom príklade je možné vidieť, že vzor/regulárny výraz pre sa použije dvakrát (pretože výraz for je prítomný dvakrát v reťazci, ktorý sa má rozdeliť)
Príklad 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);> > }> }> |
Výkon
Geeks for Geeks
Príklad 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);> > }> }> |
Výkon
Geeks for Geeks
Príklad 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);> > }> }> |
Výkon
Geek
Vo vyššie uvedenom príklade nie sú koncové prázdne reťazce zahrnuté vo výslednom poli arrOfStr.
Príklad 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);> > }> }> |
Výkon
Geeks Geeks
Vo vyššie uvedenom príklade sa koncové medzery (teda nie prázdny reťazec) stanú reťazcom vo výslednom poli arrOfStr.
Príklad 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);> > }> }> |
Výkon
word1 word2 word3 word4 word5 word6
Vo vyššie uvedenom príklade sú slová oddelené vždy, keď sa vyskytne niektorý zo znakov špecifikovaných v množine.