이스케이프 시퀀스를 사용하여 리터럴 도트에서 Java 문자열 분할
리터럴 도트(".")에서 Java 문자열을 분할하려고 할 때 Split() 메서드를 사용하는 경우 이스케이프 시퀀스 "\"를 사용하여 점을 이스케이프하는 것이 중요합니다. Split() 메서드는 이스케이프 처리되지 않은 점을 모든 문자와 일치하는 정규식으로 처리하여 예기치 않은 결과가 발생할 수 있기 때문에 이 작업이 필요합니다.
예를 들어 다음 코드를 고려하세요.
String filename = "D:/some folder/001.docx"; String extensionRemoved = filename.split(".")[0];
이 코드는 입력 문자열이 단일 점이므로 ArrayIndexOutOfBoundsException을 발생시킵니다. 점에서 점을 분할하면 빈 배열이 생성되고, 분할() 메서드가 결과에서 뒤에 오는 빈 문자열을 제거하므로 빈 배열이 반환됩니다.
이 문제를 해결하려면 점을 다음과 같이 이스케이프해야 합니다. 다음과 같습니다:
String extensionRemoved = filename.split("\\.")[0];
이스케이프 시퀀스 "\"를 사용하여 다음을 지정합니다. 문자가 아닌 리터럴 점 문자로 분할하려고 합니다.
정규식에서 단일 백슬래시를 생성하려면 단일 백슬래시가 이스케이프 문자로 처리되므로 이중 백슬래시가 필요하다는 점에 유의하는 것이 중요합니다. Java 문자열 리터럴에서.
이 접근 방식을 따르면 Java 문자열을 리터럴 점으로 효과적으로 분할하여 ArrayIndexOutOfBoundsExceptions 및 정확한 결과를 보장합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3