The řetězec split() metoda rozbije daný řetězec kolem shod daného regulárního výrazu. Po rozdělení proti danému regulárnímu výrazu tato metoda vrátí pole řetězců.
Input String: 016-78967 Regular Expression: - Output : {'016', '78967'}> Níže jsou uvedeny dvě varianty metody split() v Javě:
1. Rozdělení veřejného řetězce [] (regulární výraz řetězce, limit int)
Parametry
- regex – ohraničující regulární výraz Limit – výsledný práh
Návraty
Pole řetězců se vypočítá rozdělením daného řetězce.
Vyhozena výjimka
PatternSyntaxException – pokud je zadaná syntaxe regulárního výrazu neplatná.
Mezní parametr může mít 3 hodnoty
- limit> 0 – Je-li tomu tak, bude vzor aplikován maximálně limit-1krát, výsledná délka pole nebude větší než n a poslední položka výsledného pole bude obsahovat veškerý vstup mimo poslední shodný vzor. limit <0 – V tomto případě bude vzor aplikován tolikrát, kolikrát je to možné, a výsledné pole může mít libovolnou velikost. limit = 0 – V tomto případě bude vzor aplikován tolikrát, kolikrát je to možné, výsledné pole může mít libovolnou velikost a koncové prázdné řetězce budou zahozeny.
Funguje to takto:
Nechť řetězec, který se má rozdělit, je – geekss@for@geekss
| Regex | Omezit | Výsledek |
|---|---|---|
| @ | 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} |
Níže jsou uvedeny ukázkové kódy Java, které demonstrují fungování split()
Příklad 1:
Jáva
// 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ýstup
geekss for@geekss>
Příklad 2:
Jáva
// 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ýstup
geekss for geekss>
Příklad 3:
Jáva
// 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);> >}> }> |
>
>
c pole řetězcůVýstup
geekss for geekss>
Příklad 4:
Jáva
// 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ýstup
geek @for@geek>
Příklad 5:
Jáva
// 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ýstup
jinak smyčka v Javě
geek @for@geek>
Příklad 6:
Jáva
// 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ýstup
geek @for@geek>
2. public String[] split (Řetězec regulární výraz)
Tato varianta metody split bere regulární výraz jako parametr a rozkládá daný řetězec kolem shod tohoto regulárního výrazu. Zde je výchozí limit 0.
Parametry
regulární výraz – oddělovací regulární výraz
Návraty
Pole řetězců se vypočítá rozdělením daného řetězce.
Vyhozena výjimka
PatternSyntaxException – pokud je zadaná syntaxe regulárního výrazu neplatná.
Zde jsou některé funkční příklady kódů:
Příklad 1:
Jáva
// 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ýstup
techcodeview.com A Computer Science Portal>
Příklad 2:
Jáva
blokování reklam na youtube pro Android
// 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ýstup
Geeks Geeks Students>
Ve výše uvedeném příkladu je vidět, že vzor/regulární výraz pro je použit dvakrát (protože for je v řetězci, který má být rozdělen, přítomen dvakrát)
Příklad 3:
Jáva
// 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ýstup
Geeks for Geeks>
Příklad 4:
Jáva
// 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ýstup
Geeks for Geeks>
Příklad 5:
cm na stopy a palce
Jáva
// 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ýstup
Geek>
Ve výše uvedeném příkladu nejsou koncové prázdné řetězce zahrnuty ve výsledném poli arrOfStr.
Příklad 6:
Jáva
// 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ýstup
Geeks Geeks>
Ve výše uvedeném příkladu se koncové mezery (tedy nikoli prázdný řetězec) stanou řetězcem ve výsledném poli arrOfStr.
Příklad 7:
Jáva
// 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ýstup
word1 word2 word3 word4 word5 word6>
Ve výše uvedeném příkladu jsou slova oddělena vždy, když je nalezen některý ze znaků specifikovaných v sadě.