如何使用點(.)作為分隔符號正確分割Java字串?
Nov 23, 2024 am 07:30 AMJava 字串以「.」分割(點)
在Java中,split()方法用於根據指定的分隔符號將字串分割成子字符串。但是,當嘗試在文字點字元“.”上拆分字串時,可能會引發 ArrayIndexOutOfBoundsException。
為了說明此問題,請考慮以下程式碼:
String filename = "D:/some folder/001.docx"; String extensionRemoved = filename.split(".")[0];
在上面的程式碼,目的是透過在點上分割檔案名稱來刪除檔案副檔名。但是,執行此程式碼將導致異常。
相反,以下程式碼可以正常工作:
String driveLetter = filename.split("/")[0];
這是由於 split() 方法解釋了 '.'。作為通配符,它匹配字串中的任何字元。要在文字點上分割,必須使用反斜線對其進行轉義:
String extensionRemoved = filename.split("\.")[0];
透過轉義點,我們表明我們要在文字字元上分割,而不是通配符。需要注意的是,反斜線字符本身就是正規表示式中的特殊字符,因此還需要使用另一個反斜線進行轉義。
此外,在點上分割時,考慮以下邊緣情況至關重要:檔案名為空或僅由一個點組成。如果您嘗試在不使用 split() 方法的 limit 參數的情況下拆分此類字串,則可能會遇到 ArrayIndexOutOfBoundsException。為了防止這種情況,請對limit 參數使用負值:
String extensionRemoved = filename.split("\.", -1)[0];
透過將限制設為負值,您可以停用從結果數組中刪除尾隨空白,從而確保您始終獲得有效的即使是空字串或單字元字串也可以建立索引。
以上是如何使用點(.)作為分隔符號正確分割Java字串?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱門文章

熱門文章

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

2025年的前4個JavaScript框架:React,Angular,Vue,Svelte

如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?
