티스토리 뷰
Trouble Shooting
[Java] 문자열 자르기 함수 split() 동작이 안될 때 | split() 함수 특수문자 사용
Jingni 징니 2021. 3. 15. 00:39
[Java]
문자열 자르기 함수 split() 동작이 안될 때
split() 함수 특수문자 사용
Java에서 문자열을 특정 regex로 자를 때 split() 함수를 많이 사용한다.
split()함수 안에 들어갈 regex가 어떠한 것이든 함수가 정상적으로 동작하는 줄 알았는데,
특정 특수문자는 동작이 안된다는 것을 알게 되어 그를 해결할 수 있는 방법을 공유하려고 한다.
일반적인 split() 함수 사용
// 일반적인 split() 함수 예시
String phone = "010-1234-5678";
String[] rslt = phone.split("-");
- 위의 코드 케이스에서는 코드가 정상적으로 동작한다.
동작이 안되는 Code Example
// 실행이 되지 않는 split() 함수 예시
String phone = "1|2|3|4|5|6|7";
String[] rslt = phone.split("|");
- "|", "*", ".", "&" , "^" 등의 문자를 regex로 사용하는 경우 함수가 동작하지 않는다는 것을 프로젝트 진행 중에 알게 되었다.
동작 가능하도록 코드 수정한 Code Example
// 수정된 split() 함수 코드 예시
String phone = "1|2|3|4|5|6|7";
String[] rslt = phone.split("\\|");
- regex 앞에 \\ (백슬래시 두번) 을 넣어주면 코드가 정상적으로 돌아간다는 것을 알 수 있었다.
- 예상컨데 동작하지 않는 문자들은 코드 내에서 특정 의미를 가지고 있는 것들이라 코드가 돌아가지 않는 것 같다.
( | , &, ^, * : 논리식, 계산식 사용 시 부호로 사용 등)
'Trouble Shooting' 카테고리의 다른 글
[Android] Retrofit 통신 구현 중 MalformedJsonException 발생 원인 및 해결 방법 정리 (0) | 2021.03.30 |
---|
댓글