2017-03-22 30 views
2

我們有路徑,它包含像"/folder1/folder2/folder3/folder4/2015-11-25/"。 有時文件夾會遞增遞增。 我們如何在java中單獨分割日期,我們必須在不使用日期的情況下在SQL中傳遞路徑。我們如何在路徑中分割日期?

需要的路徑是:/folder1/folder2/folder3/folder4/

+2

「有時文件夾遞歸遞增。」 - 那是什麼意思? – Fildor

+1

您可以使用正則表達式併爲您搜索的日期定義格式 – fuzzy28

+1

因此像'/ folder1/folder2 /'等路徑(即沒有日期)是可能的,還是日期總是存在?並且日期總是最後一部分,或者可能存在類似'/ folder1/folder2/2017-03-22/folder3 /'的路徑? – Thomas

回答

3

以路徑作爲一個字符串,並用一個簡單的replaceAll()

String s = "/folder1/folder2/folder3/folder4/2015-11-25/"; 
System.out.println(s.replaceAll("\\d{4}-\\d{2}-\\d{2}/", "")); 
+0

感謝很多。這非常有用。 –

+0

如果我們在同一天有分鐘的時間,你有什麼想法嗎?例如/ 2015-10-10 03:30 –

3

您可以使用正則表達式\d{4}-\d{2}-\d{2}\/?更換日期

DEMO

String line = "/folder1/folder2/folder3/folder4/2015-11-25/"; 
line = line.replaceAll("\\d{4}-\\d{2}-\\d{2}\\/?", ""); 

輸出

/folder1/folder2/folder3/folder4/ 

編輯

如果你有時針和分針在同一日期,那麼你可以使用此代碼

line = line.replaceAll("\\d{4}-\\d{2}-\\d{2}(?:\\s+\\d{1,2}:\\d{1,2})?\\/?", ""); 

逸岸你可以替換上面的代碼與此編輯之一。它將處理這兩種情況。請參閱DEMO

+1

非常感謝您的回覆。 –

+0

如果我們在同一天有分鐘的時間,你有什麼想法嗎?例如/ folder1/folder2/folder3/folder4/2015-10-10 03:30 –

+0

@AdalarasanSachithanantham是的,我們可以修改'regex'來處理這兩種情況。請參閱編輯我的答案。 –