这似乎很简单,但我很困惑。
情况如下:
我有一个完整的文件名,例如abdcd.pdf
或efghijf.jpg
或jklmn.jpeg
,
现在我必须只将文件名设为abdcd
或efghijf
或jklmn
答案 0 :(得分:8)
使用Path类静态方法
result = Path.GetFileNameWithoutExtension(fileName);
答案 1 :(得分:2)
String f = "file.jpg";
int lastIndex = f.LastIndexOf('.');
Console.WriteLine(f.Substring(0, lastIndex));
或者,与其他建议一样,您也可以使用
Path.GetFileNameWithoutExtension(f)
答案 2 :(得分:2)
您可以使用String.Substring()
,但我建议Path.GetFileNameWithoutExtension()
执行此任务:
// returns "test"
Path.GetFileNameWithoutExtension("test.txt")
这种方法基本上是这样实现的:
int index = path.LastIndexOf('.');
return index == -1 ? path : path.Substring(0, index);
答案 3 :(得分:2)
我会使用API调用。
http://msdn.microsoft.com/en-us/library/system.io.path.getfilenamewithoutextension(v=vs.110).aspx
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 ''
答案 4 :(得分:2)
我会使用Path静态方法:Path.GetFileNameWithoutExtension
()
答案 5 :(得分:2)
实际上有一种方法:
http://msdn.microsoft.com/en-us/library/system.io.path.getfilenamewithoutextension(v=vs.110).aspx
答案 6 :(得分:2)
使用GetFileNameWithoutExtension静态方法,如下所示:
result = Path.GetFileNameWithoutExtension(fileName);
来自MSDN:
GetFileName返回的字符串,减去最后一个句点(。)及其后面的所有字符。