2009-06-02 156 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" 

如果該文件存在,當然還有大量的信息有關文件大小,最後一次訪問等