从C#中的pathstring获取文件名
我在WPF C#中编程。 我有例如以下path:
C:\Program Files\hello.txt
我想输出“ 你好 ”。
该path是从数据库提取的string。 目前我正在使用下面的方法(由'\'拆分path,然后再由'。'拆分):
string path = "C:\\Program Files\\hello.txt"; string[] pathArr = path.Split('\\'); string[] fileArr = pathArr.Last().Split('.'); string fileName = fileArr.Last().ToString();
它的工作,但我相信应该有更短,更聪明的解决scheme。 任何想法?
Path.GetFileName
Path.GetFileNameWithoutExtension
Path类很棒。
尝试
fileName = Path.GetFileName (path);
http://msdn.microsoft.com/de-de/library/system.io.path.getfilename.aspx
您可以使用Path API如下:
var filenNme = Path.GetFileNameWithoutExtension([File Path]);
更多信息: Path.GetFileNameWithoutExtension
尝试
System.IO.Path.GetFileNameWithoutExtension(path);
演示
string fileName = @"C:\mydir\myfile.ext"; string path = @"C:\mydir\"; string result; result = Path.GetFileNameWithoutExtension(fileName); Console.WriteLine("GetFileNameWithoutExtension('{0}') returns '{1}'", fileName, result); result = Path.GetFileName(path); Console.WriteLine("GetFileName('{0}') returns '{1}'", path, result); // This code produces output similar to the following: // // GetFileNameWithoutExtension('C:\mydir\myfile.ext') returns 'myfile' // GetFileName('C:\mydir\') returns ''
var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(path);
Path.GetFileNameWithoutExtension
尝试这个:
string fileName = Path.GetFileNameWithoutExtension(@"C:\Program Files\hello.txt");
这将为fileName返回“hello”。
string Location = "C:\\Program Files\\hello.txt"; string FileName = Location.Substring(Location.LastIndexOf('\\') + 1);
尝试这个,
string FilePath=@"C:\mydir\myfile.ext"; string Result=Path.GetFileName(FilePath);//With Extension string Result=Path.GetFileNameWithoutExtension(FilePath);//Without Extension