我需要使用Path.GetFileName()
提取路径信息,当输入字符串的最后一个字符为DirectorySeparatorChar('/‘或'\')时,此函数不起作用。
我想出了这个代码,但它太长了。有没有更好的办法?
string lastCharString = fullPath.Substring (fullPath.Length-1);
char lastChar = lastCharString[0];
if (lastChar == Path.DirectorySeparatorChar) {
fullPath = fullPath.Substring(0, fullPath.Length-1);
}
发布于 2011-05-16 23:21:00
fullPath = fullPath.TrimEnd(Path.DirectorySeparatorChar);
发布于 2012-01-20 14:23:58
// If the fullPath is not a root directory
if (Path.GetDirectoryName(fullPath) != null)
fullPath = fullPath.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar);
发布于 2011-05-16 23:05:25
string path1 = @"c:\directory\";
string path2 = @"c:\directory\file.txt";
string path3 = @"c:\directory";
Console.WriteLine(Path.Combine(Path.GetDirectoryName(path1), Path.GetFileName(path1)));
Console.WriteLine(Path.Combine(Path.GetDirectoryName(path2), Path.GetFileName(path2)));
Console.WriteLine(Path.Combine(Path.GetDirectoryName(path3), Path.GetFileName(path3)));
提供:
c:\directory
c:\directory\file.txt
c:\directory
希望能有所帮助。
https://stackoverflow.com/questions/6019227
复制相似问题