如何从路径中获取文件名?

时间:2009-06-02 23:04:44

标签: c# regex

我需要一些正则表达专家才能获得额外的帮助。 :)

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

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

例如在路径中:

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

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

3 个答案:

答案 0 :(得分:25)

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

myfilename = Path.GetFileName(mypath);

答案 1 :(得分:1)

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

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

如果文件存在,当然有很多关于文件大小,上次访问等信息。

答案 2 :(得分:-4)

如果你安装了perl,那么你可以试试这样的......

#!/usr/bin/perl

use strict;

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