7

使用正则表达式我需要从路径中删除最后一个文件夹:

Example : C:\Temp\Dir1\

Output : C:\Temp\

请不要建议我可以使用 c# 或其他编程语言来执行此操作。我真的需要正则表达式。

在此先感谢您的帮助。

4

5 回答 5

8

代替

[^\\]+\\?$

凭什么。这也适用于C:\Temp\Dir1(无尾随反斜杠)之类的路径。驱动器的根目录失败。

于 2012-06-29T09:43:26.790 回答
0

另一个解决方案是与小组合作:

\w\:(\\\w+)*(\\\w+\\)

用空字符串替换第二组。

演示

但是,我承认,乔伊的解决方案要……苗条得多!

于 2012-06-29T10:06:43.333 回答
0

对于mac文件路径oldPath.replace(/[^\/]+\/?$/,'')

于 2020-07-06T01:23:46.843 回答
0

在java中,这对我来说是这样的:

String filepath = "C:\Temp\Dir1\"   
filePath = filePath.replaceAll("[^\\\\]+$", "");

输出:C:\Temp\

要删除尾部反斜杠,请执行以下操作:

String filepath = "C:\Temp\Dir1\"   
filePath = filePath.replaceAll("[^\\\\]+$", "").replaceAll("[\\\\]?$", "");

输出:C:\Temp

于 2020-09-17T20:33:14.327 回答
0

[^\\\/]+[\\\/]?$

上面将匹配正斜杠和反斜杠路径的最后一个目录:

Windows 样式:
C:\Users\ vscheidegger
C:\Users\ vscheidegger\

Linux 风格:
/mnt/media/ vscheidegger
/mnt/media/ vscheidegger/

于 2021-06-18T15:11:53.113 回答