반응형
[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
반응형
'JVM > Java' 카테고리의 다른 글
[Java] POI 라이브러리 사용 : 엑셀 다운로드 로직 구현하기 (27) | 2020.01.17 |
---|---|
[Java] Object 타입에 상관없이 VO 데이터 가져오기 (0) | 2020.01.17 |
[Java] StartsWith/EndWith : 문자열의 시작/끝 부분과 특정 문자열이 일치하는지 확인하기 (0) | 2019.12.30 |
[Error] (Java 버전 중복) could not open `C:\java\lib\amd64\jvm.cfg' 에러 레즈스트리 수정하여 해결하기 (0) | 2019.11.05 |
[Error] Springboot Gradle Task :compile.Java Error (자바 경로를 찾지 못하는 현상) (2) | 2019.11.04 |
댓글