내 자신의 방식으로 this problem을 해결하고 있습니다. 드라이브, 폴더 및 파일 이름으로 파일 경로를 배열로 모두 분할하려고합니다.java.util.regex.PatternSyntaxException - split ("\");을 사용하는 경우입니다.
문제는 :
String regex = "\\";
String [] divisions = path.split (regex);
이 나에게 java.util.regex.PatternSyntaxException을 제공합니다. 나는 wiki을 고개를 [\b]
String regex = "[\b]";
String [] divisions = path.split (regex);
이 작동하지 않습니다 발견했다. 그것은 예외를 던지거나 backspace를 기반으로 내 파일 경로를 분할하지 않습니다.
입력 :
► Enter path --
C:\User\Admin\NekedGaben.jpg
출력 :
→ Path = C:\User\Admin\NekedGaben.jpg
→ File name = C:\User\Admin\NekedGaben
→ Extension = .jpg
내 질문 :
- 왜
"\\"
가 예외를 throw하지 않습니다를"[\b]"
하지 않는 동안? - 왜
split()
은 경로 문자열을 분할하지 않습니까?
정규 표현식에서'\'는 무엇입니까? (''\\ '''는 문자열 리터럴이 아닙니다.) –
위키를 더 자세히 읽고 싶습니다.'[\ b]'는 뒤의 *** 스페이스 ***와 일치합니다 ** *삭감***. 왜 백 스페이스를 매치시키고 싶습니까? 나는 모른다, 나는 결코 필요가 없다. 그러나'\ b'는 그 자체로 단어 경계와 일치합니다. 그리고 그것은 문자 클래스 안에서 의미 할 수 없기 때문에, 그 의미는 임의로 백 스페이스로 바뀝니다. –