2009-06-02 159 views
3

我需要一些正则表达式专家来增加额外的手。 :)如何从路径获取文件名?

我有不同的路径,不同的文件夹,不同数量的文件夹。

我的问题:我如何得到最后的东西 - 文件名?

例如路径:

C:\ A \ B \ C \ d。\ E \ fgh.ddj

如何获得 “fgh.ddj” 使用正则表达式?

回答

25

你不需要正则表达式的,你可以做到这一点就像这样,它是一个system.io辅助函数:

myfilename = Path.GetFileName(mypath); 
+0

如果你需要的不只是文件名,然后FileInfo的FINFO =新的FileInfo(路径);等等。然后信息包含路径,全名,目录名和更多... – 2009-06-02 23:15:28

+0

路径:Path.GetDirectoryName,Path.GetFullPath等方法。 – 2009-06-02 23:22:36

-4

如果你有安装的perl,那么你可以尝试这样的事情...

#!/usr/bin/perl 

use strict; 

my $fullname = 'C:\a\b\c\d\e\fgh.ddj'; 
my $file = (split /\\/, $fullname)[-1]; 
print $file; 
1

您也可以使用FileInfo。使用FileInfo时,文件是否存在实际上并不重要。

var fileInfo = new FileInfo("C:\a\b\c\d\e\fgh.ddj"); 
var fileName = fileInfo.Name; 
//this returns "fgh.ddj" 

如果该文件存在,当然还有大量的信息有关文件大小,最后一次访问等