관리 메뉴

개발이야기

[TIL] JAVA split 함수 사용시 주의할점 (정규 표현 메타문자 ) 본문

Today I Learned /TIL

[TIL] JAVA split 함수 사용시 주의할점 (정규 표현 메타문자 )

안성주지몬 2020. 10. 6. 00:00

* 오늘 생긴 문제

"^"를 구분자로 문자열을 나눠 스트링 배열로 만들려고 하였지만 제대로 쪼개지지 않고 문자열이 유지되면서 0번째 값만 채워지는 상황 지속

 

* 원인

구분자로 썻던 "^"가 정규표현식 메타문자였다!

www.ktword.co.kr/abbr_view.php?m_temp1=5851

 

정규표현 메타 문자 [정보통신기술용어해설]

 

www.ktword.co.kr

 

* 해결방안

이스케이프 문자인 "\"를 넣으면 해결됩니다.

// X
String s = "이렇게^하면^되는지 궁금하네요";
String[] s1 = s.split("^");
System.out.println(s1[0]); // 출력값: 이렇게^하면^되는지 궁금하네요

// O
String s = "이렇게^하면^되는지 궁금하네요";
String[] s1 = s.split("\\^");
System.out.println(s1[0]); // 출력값: 이렇게

 

Comments