我試圖將file
轉換爲String
,之後我將替換轉換後的文件的名稱,但不包含非數字字符,但當我將其替換爲文件時文件的擴展名也被替換。例如(2014.05-06.txt
->
20140506.txt
但發生了什麼是20140506txt
)我想保留.txt,.log或任何類型的擴展名。刪除文件名中的非數字字符,但擴展名爲java
String strDatefiles = Arrays.toString(saDateFiles).replaceAll("[\\W]", "");
編輯:
String[] saDateFiles = fileList.list();
String strDatefiles = Arrays.toString(saDateFiles.substring(0, saDateFiles.lastIndexOf("."))).replaceAll("[\\W]", "");
這saDateFiles.lastIndexOf(".")))
有錯誤,長度更換?
Edited2:
String[] saDateFiles = fileList.list();
String strDatefiles = Arrays.toString(saDateFiles).substring(0, Arrays.toString(saDateFiles).lastIndexOf(".")).replaceAll("[\\W]","");
System.out.println(strDatefiles);`
輸出:20140502txt20140904
(我有2個文件內)
選項#1)分裂出去的延伸第一,再次運行正則表達式,在擴展策略。選項#2)修復你的正則表達式。選項#3)如果正則表達式超出了你的想法(對我來說這是真的),只需使用不同的方法進行替換(循環?) – domsson
@domdom我是新的Java btw,你能解釋更多關於流程? – user123040569
看起來像其他人已經覆蓋你。 :) – domsson