El Divisió de cadena () El mètode trenca una cadena donada al voltant de les coincidències de l'expressió regular donada. Després de dividir l'expressió regular donada, aquest mètode retorna una matriu de cadenes.
Input String: 016-78967 Regular Expression: - Output : {'016', '78967'}> A continuació es mostren les dues variants del mètode split() a Java:
1. Divisió de cadena pública [] (String regex, límit int)
Paràmetres
- regex: una expressió regular delimitadora Limit: el llindar resultant
Devolucions
Una matriu de cadenes es calcula dividint la cadena donada.
Excepció llançada
PatternSyntaxException – si la sintaxi de l'expressió regular proporcionada no és vàlida.
El paràmetre límit pot tenir 3 valors
- límit> 0: si aquest és el cas, el patró s'aplicarà com a màxim límit-1 vegades, la longitud de la matriu resultant no serà superior a n i l'última entrada de la matriu resultant contindrà totes les entrades més enllà de l'últim patró coincident. límit <0: en aquest cas, el patró s'aplicarà tantes vegades com sigui possible i la matriu resultant pot ser de qualsevol mida. limit = 0: en aquest cas, el patró s'aplicarà tantes vegades com sigui possible, la matriu resultant pot ser de qualsevol mida i les cadenes buides posteriors es descartaran.
Així és com funciona:
Sigui la cadena que s'ha de dividir: geekss@for@geekss
| Regex | Límit | Resultat |
|---|---|---|
| @ | 2 | {geekss, for@geekss} |
| @ | 5 | {geekss, per, geekss} |
| @ | -2 | {geekss, per, geekss} |
| s | 5 | {geek, , @for@geek, , } |
| s | -2 | {geek, , , @for@geek, , } |
| s | 0 | {friki, , @for@geek} |
A continuació es mostren els codis d'exemple de Java per demostrar el funcionament de split()
Exemple 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);> >}> }> |
>
>Sortida
geekss for@geekss>
Exemple 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);> >}> }> |
>
>Sortida
geekss for geekss>
Exemple 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);> >}> }> |
>
>
processament paral·lelSortida
geekss for geekss>
Exemple 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);> >}> }> |
>
>Sortida
geek @for@geek>
Exemple 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);> >}> }> |
>
>Sortida
estructures de dades java
geek @for@geek>
Exemple 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);> >}> }> |
>
>Sortida
geek @for@geek>
2. Public String[] split(String regex)
Aquesta variant del mètode split pren una expressió regular com a paràmetre i trenca la cadena donada al voltant de les coincidències d'aquesta expressió regular. Aquí, el límit predeterminat és 0.
Paràmetres
expressió regular – una expressió regular delimitadora
Devolucions
Una matriu de cadenes es calcula dividint la cadena donada.
Excepció llançada
PatternSyntaxException – si la sintaxi de l'expressió regular proporcionada no és vàlida.
Aquests són alguns exemples de codis de treball:
Exemple 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);> >}> }> |
>
>Sortida
techcodeview.com A Computer Science Portal>
Exemple 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);> >}> }> |
>
>Sortida
Geeks Geeks Students>
Es pot veure a l'exemple anterior que el patró/expressió regular for s'aplica dues vegades (perquè for està present dues vegades a la cadena que s'ha de dividir)
Exemple 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);> >}> }> |
>
>Sortida
Geeks for Geeks>
Exemple 4:
Java
per a la matriu de cadenes 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);> >}> }> |
>
>Sortida
Geeks for Geeks>
Exemple 5:
conjunt c++
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);> >}> }> |
>
>Sortida
Geek>
A l'exemple anterior, les cadenes buides al final no s'inclouen a la matriu resultant arrOfStr.
Exemple 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);> >}> }> |
>
>Sortida
Geeks Geeks>
A l'exemple anterior, els espais al final (per tant, no una cadena buida) es converteixen en una cadena a la matriu resultant arrOfStr.
Exemple 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);> >}> }> |
>
>Sortida
word1 word2 word3 word4 word5 word6>
A l'exemple anterior, les paraules es separen sempre que es troba algun dels caràcters especificats al conjunt.