使用下面的代码我只得到名字前4个字符。但是我需要除了最后4个字符之外的名字。
string fileName = Textbox1.text;
string newName = fileName.Substring(0, 4);
// ex:输入abcdef.txt //输出:ABCD
但我需要输出:abcdef
请帮助!
感谢 里亚德
答案 0 :(得分:11)
我认为你真正需要的是没有扩展名的文件名。为此,有一个单独的方法,自然称为GetFileNameWithoutExtension
。
答案 1 :(得分:8)
我认为您真正寻找的是Path.GetFileNameWithoutExtension
。
// prints abcdef
Console.WriteLine(Path.GetFileNameWithoutExtension("abcdef.txt"));
答案 2 :(得分:3)
string newName = fileName.Substring(0, fileName.Length - 4);
当然,这仅适用于您的分机长度为3个字符(并且有扩展名)。
答案 3 :(得分:2)
string newName = fileName.Substring(0, fileName.Length-4);
答案 4 :(得分:1)
除了已经说过的内容之外,对于任何感兴趣的人,System.IO.Path.GetFileNameWithoutExtension
方法都没有什么神奇之处。它只是使用.
查找完整文件名中的最后一个LastIndexOf()
。
所以它的全部内容是:
public static string GetFileNameWithoutExtension(string path)
{
path = GetFileName(path);
if (path == null)
{
return null;
}
int length = path.LastIndexOf('.');
if (length == -1)
{
return path;
}
return path.Substring(0, length);
}