문자열 분리 |
JAVA에서 구분자로 문자열을 분리하는 방법은 2가지가 있습니다.
1. split
- String 클래스의 속해있는 메서드로 정규표현식으로 문자열을 분리한다.
- 정규표현식을 사용하여 속도가 느리나, 데이터 양이 많아질 경우 StringTokenizer과 속도 차이가 크게 나지 않는다.
* 정규표현식 : 특정한 규칙을 갖는 문자열, 줄여서 정규식이라고도 불림
ex. 만약 0~9 사이의 숫자가 구분자 일때 0|1|2|...|8|9로 작성하지만, 정규 표현식을 사용하면 간단하게 [0-9]로 표현 가능하다.
- 반환 값이 문자열 배열 타입이다. ( String[] arr = str.split(","); )
- 구분자 사이에 빈 문자열이 있을 경우 토큰으로 인식한다. > null 처리
2. StringTokenizer
- java.util에 포함되어 있는 클래스이고 문자 또는 문자열로 문자열을 분리한다.
- 정규 표현식을 사용하지 않는 경우 이용이 가능하고, 빠른 속도로 사용하기 편하다.
- 반환값이 문자열 타입이다. (String arr = st.nextToken() )
- 구분자 사이에 빈 문자열이 있을 경우 토큰으로 인식하지 않는다.
import java.util.StringTokenizer;
public class test {
public static void main(String[] args) {
String testStr = "Banana,apple,,strawberry";
String[] str1 = testStr.split(","); // return type : 문자열 배열
StringTokenizer st = new StringTokenizer(testStr, ",");
int count = st.countTokens();
System.out.print("split : ");
for(int i = 0; i < str1.length; i++)
System.out.print(str1[i] + "/");
System.out.print("\nStringTokenizer : ");
for(int i = 0; i < count; i++)
System.out.print(st.nextToken() + "/"); // return type : 문자열
}
}
결과
> split과 stringTokenizer의 빈문자열 처리 방법을 알 수 있다.
참고사이트
https://jhnyang.tistory.com/398
https://smartpro.tistory.com/10
'JAVA' 카테고리의 다른 글
MAC M1 JAVA 설치 (0) | 2022.02.25 |
---|---|
Java 정규식 (Regular Expression) (0) | 2022.01.11 |
JAVA 설치하기 (for window) (0) | 2021.07.23 |
VScode에 java 환경 세팅하기 (mac) (0) | 2021.06.26 |
JAVA : Comparable & Comparator (+ 백준 11650) (0) | 2021.06.22 |