JVM/Java

[Java] 특정문자로 문자열 나누기 split 사용방법과 주의점

헹창 2020. 1. 3.
반응형

[Java] 특정문자로 문자열 나누기 split 사용방법과 주의점

 

- 문자열 split("\\") 에러 "Unexpected internal error near index 1 \" 해결방법

 

 

 

먼저 split에 대해 살펴보자.

 

java.lang.String.split()

  

문자열을 구분해서 사용하고 싶을 때 특정 구분자를 기준으로 나눠 배열에 담아 이용하는 방법이다.

 

 

문법

 

1. split(String regex)

 - 가장 일반적으로 사용하는 문법으로, 문자열을 구분할 때 사용하는 정규 표현식이 하나의 인수로 들어간다.

 

2. spilt(String regex, int limit)

 - 첫번째 인수는 위와 같고, 두번째 인수는 분류할 문자열의 수이다. (예를들어 분류할 문자가 5개인데 limit가 2이면 2개만 분류한 뒤 나머지는 통채로 출력한다.)

 

 

예제

String str = "사과,오렌지,키위,바나나";
String[] array = str.split(",");	// array = [사과,오렌지,키위,바나나]

System.out.println(array.length);	// 4
System.out.println(array[0]);	// 사과	
System.out.println(array[1]);	// 오렌지
System.out.println(array[2]);	// 키위
System.out.println(array[3]);	// 바나나

 

 

내가 마주친 오류와 해결방법

 

- "/" 구분자로 문자열을 나누면, image와 source.png로 나뉠 것이라고 생각했다.

String str = "image/source.png";
String[] array = str.split("\");	

 

여기서 split("\\") 에러 로그 "Unexpected internal error near index 1 \ "가 찍힌다.

 

str.split("\")을 다음과 같이 수정해주면 된다.

 

1. str.spilt("\\\\")

2. str.escapeJava("\\")

 

 

 

 

 

728x90
반응형

댓글

추천 글