본문 바로가기
Programming/Java

[Java] Split 메서드 사용시 실수하기 쉬운 것

by 배고프당 2019. 4. 2.
728x90

자바 내장함수인 split함수를 이용하다보면 "|" 문자를 이용해 자를 경우가 생기는데요.

 

다음 예제 상황을 한번 보시면

String temp = "s1|s2|s3|s4";
String[] info = temp.split("|");

for(int i = 0 ; i < info.length; i++){
	System.out.println("test:"+info[i]);
}

보통 이런식으로 사용하시겠지만 결과는?

전혀 다르게 나옵니다.

 

=>

"|" 이걸로 split을 할때는 자바에서 다음과 같이 코딩을 해야한다.

String temp = "s1|s2|s3|s4";
String[] info = temp.split("\\|");

for(int i = 0 ; i < info.length; i++){
	System.out.println("test:"+info[i]);
}

.split("\\|");

 

=>

split의 인자로 들어가는 String 토큰이 regex 정규식이기 때문에

"|" 이거나 "." 으로 split을 할때는 \\를 붙여줘야 합니다.

 

혹시 split을 사용하는데 원하지 않은 결과가 나온다면 \\를 붙여보세요.

 

728x90

댓글