Metoda Split() String v Javě s příklady

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);> > }> }>

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

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




// 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:

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ě.