这似乎很简单,但我感到困惑。
以下情况是:
我有一个完整的文件名,例如abdcd.pdf
或efghijf.jpg
或jklmn.jpeg
,
现在,我必须仅获取文件名为abdcd
或efghijf
或jklmn
使用路径类静态方法
result = Path.GetFileNameWithoutExtension(fileName);
String f = "file.jpg";
int lastIndex = f.LastIndexOf('.');
Console.WriteLine(f.Substring(0, lastIndex));
或像其他建议一样,您也可以使用
Path.GetFileNameWithoutExtension(f)
您可以使用String.Substring()
,但我建议Path.GetFileNameWithoutExtension()
执行此任务:
// returns "test"
Path.GetFileNameWithoutExtension("test.txt")
转到MSDN文档
此方法基本上是这样实现的:
int index = path.LastIndexOf('.');
return index == -1 ? path : path.Substring(0, index);
我将使用API调用。
http://msdn.microsoft.com/en-us/library/system.io.path.getfilenamewithoutextension(v = vs.110).aspx
string fileName = @"C:mydirmyfile.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:mydirmyfile.ext') returns 'myfile'
// GetFileName('C:mydir') returns ''
我将使用路径静态方法: Path.GetFileNameWithoutExtension
()
实际上有一种方法:
http://msdn.microsoft.com/en-us/library/system.io.path.getfilenamewithoutextension(v = vs.110).aspx
使用getFilenamewithOutExtension静态方法:
result = Path.GetFileNameWithoutExtension(fileName);
来自MSDN:
getFilename返回的字符串,减去最后一个时期(。)和之后的所有字符。