如何解决这个问题?
我想改变这一点:
C:\文件\队伍\企业\ dev的\来源\系统\推广\目标\ 1.0.1.1 \
改为新值:
value =“1.0.11”;
答案 0 :(得分:10)
您可以获得相应Name
的DirectoryInfo
:
string path = @"C:\files\team\business\dev\Source\systems\extension\destination\1.0.1.1\";
string version = new DirectoryInfo(path).Name;
答案 1 :(得分:1)
替代方法:
var path = @"C:\files\team\business\dev\Source\systems\extension\destination\1.0.1.1\";
var value = Path.GetFileName(path.TrimEnd(new[]{'/','\\'}));
// OUTPUT: 1.0.1.1
这基本上删除了任何最后的目录分隔符,然后将最后一个目录视为文件名,因此它返回最后一个目录。
基于 @JeppeStigNielsen 的评论,这里有一个更好的,独立于平台的替代方案。
var value = Path.GetFileName(Path.GetDirectoryName(path));
如果存在文件名,这将有效。
var value = Path.GetFileName(Path.GetDirectoryName(".../1.0.1.1/somefile.etc"));
// returns 1.0.1.1
答案 2 :(得分:0)
Darin's answer很棒,但作为替代方案;
string s = @"C:\files\team\business\dev\Source\systems\extension\destination\1.0.1.1\";
string[] array = s.Split('\\');
Console.WriteLine(array[array.Length - 2]);
输出将是;
1.0.1.1
这是DEMO。