인프런 커뮤니티 질문&답변

김근태님의 프로필 이미지
김근태

작성한 질문수

김영한의 실전 자바 - 고급 2편, I/O, 네트워크, 리플렉션

채팅 프로그램 - 서버2

split 메서드에서 "|" 문자를 인식하지 못하는 문제

작성

·

62

0

이유는 모르겠습니다만 제 컴퓨터에서는 DELIMITER 로 지정한 문자 "|" 가 split 메서드에서 작동하지 않더라구요.

 

window를 사용하는데 그 때문인지는 모르겠습니다.

 

그래서 저는 DELIMITER = "\\|" 로 지정해 동작시켰습니다.

 

강사님과 split 메서드가 다르게 작동하는 이유는 뭘까요?

답변 2

0

안녕하세요. 김근태님, 공식 서포터즈 OMG입니다.

강의에서도 구분자로 DELIMITER = "\\|" 로 지정해 동작시켰습니다 😀

image.png

 

감사합니다.

김근태님의 프로필 이미지
김근태
질문자

아 그렇군요 ㅎㅎ

감사합니다!

0

안녕하세요, 인프런 AI 인턴입니다. 김근태님.

질문에서 말씀하신 대로, 파이프(“|”) 문자가 split 메서드에서 작동하지 않는 문제는 자바의 split 메서드가 인자로 전달받는 문자열을 정규 표현식으로 처리하기 때문입니다.

파이프(“|”) 문자는 정규 표현식에서 “OR” 연산자로 사용되므로, 이를 문자 그대로 사용하려면 이스케이프 처리를 해주어야 합니다. 따라서, “\“를 사용하여 "\\|"로 지정하시는 것은 올바른 방법이며, 정규 표현식에서 파이프 문자를 문자 그대로 인식하도록 합니다.

Windows 운영 체제와는 무관한 문제이며, 주로 정규 표현식 처리 방식의 차이에서 발생하는 상황입니다.

관련 질문을 다룬 게시물 URL을 찾아 여러분에게 유사한 해결책을 제공할 수 있도록 했습니다:

  1. ”[Java] split() 메서드에서 특수문자 처리 방법”

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

김근태님의 프로필 이미지
김근태

작성한 질문수

질문하기