예제가 포함된 Java의 Split() 문자열 메서드
그만큼 문자열 분할() 메서드는 주어진 정규식과 일치하는 항목 주위에서 주어진 문자열을 분리합니다. 주어진 정규식에 대해 분할한 후 이 메서드는 문자열 배열을 반환합니다.
Input String: 016-78967 Regular Expression: - Output : {'016', '78967'} 다음은 Java에서 Split() 메소드의 두 가지 변형입니다.
1. 공개 문자열 [] 분할( 문자열 정규식, 정수 제한)
매개변수
- regex – 구분 정규식 Limit – 결과 임계값
보고
문자열 배열은 주어진 문자열을 분할하여 계산됩니다.
예외 발생
패턴구문예외 – 제공된 정규식의 구문이 유효하지 않은 경우.
한계 매개변수는 3개의 값을 가질 수 있습니다.
- 제한> 0 – 이 경우 패턴은 최대 제한 1회까지 적용되고, 결과 배열의 길이는 n을 넘지 않으며, 결과 배열의 마지막 항목에는 마지막으로 일치된 패턴 이후의 모든 입력이 포함됩니다. Limit <0 – 이 경우 패턴은 가능한 한 많이 적용되며 결과 배열의 크기는 제한되지 않습니다. Limit = 0 – 이 경우 패턴은 가능한 한 많이 적용되며 결과 배열의 크기는 제한되지 않으며 뒤에 오는 빈 문자열은 삭제됩니다.
작동 방식은 다음과 같습니다.
분할할 문자열은 다음과 같습니다. geekss@for@geekss
| 정규식 | 한계 | 결과 |
|---|---|---|
| @ | 2 | {괴짜, for@geekss} |
| @ | 5 | {긱스, for, 괴짜} |
| @ | -2 | {긱스, for, 괴짜} |
| 에스 | 5 | {괴짜, , @for@geek, , } |
| 에스 | -2 | {geek, , , @for@geek, , } |
| 에스 | 0 | {괴짜, , @for@geek} |
다음은 Split()의 작동을 보여주는 Java 예제 코드입니다.
예시 1:
자바
// 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);> > }> }> |
산출
geekss for@geekss
예시 2:
자바
// 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);> > }> }> |
산출
geekss for geekss
예시 3:
자바
// 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);> > }> }> |
산출
geekss for geekss
예시 4:
자바
// 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);> > }> }> |
산출
geek @for@geek
예시 5:
자바
// 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);> > }> }> |
산출
geek @for@geek
예시 6:
자바
// 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);> > }> }> |
산출
geek @for@geek
2. 공개 문자열[] 분할(문자열 정규식)
이 분할 방법의 변형은 정규식을 매개 변수로 사용하고 이 정규식 정규식과 일치하는 항목 주위에서 지정된 문자열을 나눕니다. 여기서 기본 제한은 0입니다.
매개변수
정규식 – 구분 정규 표현식
보고
문자열 배열은 주어진 문자열을 분할하여 계산됩니다.
예외 발생
패턴구문예외 – 제공된 정규식의 구문이 유효하지 않은 경우.
다음은 몇 가지 실제 예제 코드입니다.
예시 1:
자바
// 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);> > }> }> |
산출
techcodeview.com A Computer Science Portal
예시 2:
자바
// 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);> > }> }> |
산출
Geeks Geeks Students
위의 예에서 패턴/정규식 for가 두 번 적용되는 것을 볼 수 있습니다(for가 분할할 문자열에 두 번 존재하기 때문입니다).
예시 3:
자바
// 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);> > }> }> |
산출
Geeks for Geeks
예시 4:
자바
// 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);> > }> }> |
산출
Geeks for Geeks
예시 5:
자바
// 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);> > }> }> |
산출
Geek
위의 예에서 후행 빈 문자열은 결과 배열 arrOfStr에 포함되지 않습니다.
예시 6:
자바
// 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);> > }> }> |
산출
Geeks Geeks
위의 예에서 후행 공백(따라서 빈 문자열이 아님)은 결과 배열 arrOfStr의 문자열이 됩니다.
예시 7:
자바
// 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);> > }> }> |
산출
word1 word2 word3 word4 word5 word6
위의 예에서는 세트에 지정된 문자 중 하나가 나타날 때마다 단어가 구분됩니다.