Java의 String은 split() 메소드를 제공하며, 이 메소드로 문자열을 자를 수 있습니다.
split()으로 문자열을 자르는 방법을 알아보겠습니다.
String.split() Syntax
String은 다음과 같은 split()
메소드들을 제공합니다.
public String[] split(String regex)
public String[] split(String regex, int limit)
- 인자 regex는 정규표현식(regex)으로 문자열 패턴을 받고, 그 패턴과 일치하는 문자열을 기준으로 잘라줍니다.
- 인자 limit은 문자열을 나눌 최대 개수입니다. 인자로 2를 전달하면 리턴되는 배열의 길이가 2 이하가 됩니다.
String.split() 예제1
다음은 split()
을 사용하여 문자열을 자르는 예제입니다. split()
에 " "
를 인자로 전달하였습니다. 공백을 기준으로 문자열을 자릅니다. 또한 인자로 전달된 limit 만큼 문자열을 자릅니다.
String str = "Hi guys This is split example";
String[] result = str.split(" ");
String[] result2 = str.split(" ", 2);
String[] result3 = str.split(" ", 3);
System.out.println(Arrays.toString(result));
System.out.println(Arrays.toString(result2));
System.out.println(Arrays.toString(result3));
Output:
[Hi, guys, This, is, split, example]
[Hi, guys This is split example]
[Hi, guys, This is split example]
String.split() 예제2
다음은 개행 문자 \n
로 문자열을 자르는 예제입니다.
String str = "Hi guys\n" +
"This is split example\n" +
"I'll show you how to use split method";
String[] result = str.split("\n");
System.out.println(Arrays.toString(result));
Output:
[Hi guys, This is split example, I'll show you how to use split method]
String.split() 예제3
지금까지 단순한 문자들로 문자열을 잘랐습니다.
하지만 split()
은 정규표현식을 이용하여 문자열을 자를 수도 있습니다.
다음은 정규표현식과 일반 문자로 잘랐을 때의 결과를 비교하는 예제입니다.
String str = "This island is beautiful";
String[] result = str.split("is");
String[] result2 = str.split("\\bis\\b");
System.out.println(Arrays.toString(result));
System.out.println(Arrays.toString(result2));
Output:
[Th, , land , beautiful]
[This island , beautiful]
정규표현식을 사용하면 조금 더 섬세하게 문자열을 자를 수 있습니다.
정규표현식에 대해서 더 알고 싶다면 Java - 정규표현식(regex), 다양한 예제로 쉽게 이해하기를 읽어보시면 좋습니다.
참고
Recommended Posts:
- Java - List와 Set의 차이점
- Java - substring()으로 문자열을 자르기
- Java - forEach 사용 방법
- Java - Thread.join()
- Java - Timer, TimerTask
- Java - getPath(), getAbsolutePath(), getCanonicalPath()
- Java - Number Class
- Java - printf()로 문자열 포맷 출력
- Java - Float을 Byte 배열로 변환, Byte배열을 float으로 변환
- Java - 변수의 유효 범위 (Variable Scope)
- Java - instanceOf 연산자
- Java - Method Signature
- Java - 삼항연산자