Java 문자열은 "."으로 분할됩니다. (점)
여기서 문제는 점 "."의 모호한 성격입니다. Java 문자열 분할의 문자입니다.
제공된 코드에서 String ExtensionRemoved = filename.split(".")[0]; 행은 다음과 같습니다. 점이 모든 문자와 일치하는 와일드카드 문자로 해석되어 분할 후 빈 배열이 생성되기 때문에 ArrayIndexOutOfBoundsException과 함께 실패합니다.
리터럴 점으로 분할하려면 \.:
String extensionRemoved = filename.split("\.")[0];이렇게 하면 점이 문자가 아닌 문자 그대로 처리됩니다. 와일드카드.또는 음수 제한이 있는 오버로드된 버전의 분할을 사용하여 결과에서 후행 공백 제거를 비활성화할 수 있습니다.
String extensionRemoved = filename.split("\.", -1)[0];이렇게 하면 비어 있지 않은 배열이 반환됩니다. 파일 이름이 단일 점인 경우에도 마찬가지입니다.파일 이름에 점이 여러 개 포함된 경우 분할 메소드는 다음의 배열을 반환한다는 점에 유의하는 것이 중요합니다. 점으로 나누어진 문자열. 따라서 잠재적인 예외를 방지하려면 분할 메서드에서 반환된 요소 수를 처리하는 것이 중요합니다.
위 내용은 리터럴 점(.)을 사용하여 Java 문자열을 올바르게 분할하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!