""."(점)으로 Java 문자열 분할
문제:
이유 다음 코드는 점 분할을 시도할 때 ArrayIndexOutOfBoundsException을 발생시키지만 작동합니다. 슬래시로 분할하는 경우:
String filename = "D:/some folder/001.docx"; String extensionRemoved = filename.split(".")[0];
대:
String driveLetter = filename.split("/")[0];
해결책:
문자 그대로 점으로 분할하려면 점 문자 정규식 패턴으로 처리하지 않으려면 이스케이프해야 합니다(모든 문자):
String extensionRemoved = filename.split("\.")[0];
정규식 문자열에서 단일 백슬래시를 생성하려면 이중 백슬래시(\)가 필요합니다.
또한 입력 문자열이 단지 점인 경우 극단적인 경우가 발생합니다. (".") 점으로 분할하면 빈 배열이 생성되기 때문입니다. 이 경우 ArrayIndexOutOfBoundsException을 방지하려면 오버로드된 후행 공백 제거를 비활성화하는 음수 제한이 있는 분할(정규식, 제한) 메서드:
String extensionRemoved = filename.split("\.", -1)[0];
위 내용은 Java 문자열 분할: `split('.')`에서 `ArrayIndexOutOfBoundsException`이 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!