[Java] 특정문자로 문자열 나누기 split 사용방법과 주의점
[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("\\")
'JAVA > Java' 카테고리의 다른 글
[Java] 추상클래스와 인터페이스 차이 (0) | 2022.11.15 |
---|---|
[Java] Spring Controller 파라미터 값 가져오기(HttpServletRequest, @RequestParam, @RequestBody, @ModelAttribute) (0) | 2022.11.15 |
[Java] SimpleCaptcha를 이용한 이미지 보안문자 생성하기 (0) | 2022.11.15 |
[Java] POI 라이브러리 사용 : 엑셀 다운로드 로직 구현하기 (0) | 2022.11.15 |
[Java] StartsWith/EndWith : 문자열의 시작/끝 부분과 특정 문자열이 일치하는지 확인하기 (0) | 2022.11.15 |
[Java] StringBuffer append("a"+"b") 메모리는 어떻게 할당될까? (0) | 2022.11.15 |
[Java] String, StringBuffer, StringBuilder의 차이점 (0) | 2022.11.15 |
[Java] String과 new String 차이 (0) | 2022.11.15 |