2017-03-22 26 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'来处理这两种情况。请参阅编辑我的答案。 –