在分隔符“/”字符之前提取字符串的一部分

时间:2016-05-10 07:44:55

标签: c# .net string split

我有一个表单的文件位置 FileName =“C:\ Data \ PronetContent \ Content \ Versions \ 14602 \ Working \ 1234.htm”

我需要除htm文件名以外的字符串部分 - 1234.htm

所以我想要的结果是“C:\ Data \ PronetContent \ Content \ Versions \ 14602 \ Working”

我实现了这段代码:

string[] fileLocation = FileName.Split('/');
string[] fileLocation1 = fileLocation.Take(fileLocation.Count() - 1).ToArray();
string Floc = string.Join("/", fileLocation1);

但我得到一个空字符串。请帮忙

2 个答案:

答案 0 :(得分:6)

首先,对于基于Windows的机器使用拆分/不会拆分你的字符串,因为它被\ _分开了

您可以使用

Path.GetDirectoryName()

所以,

Path.GetDirectoryName(FileName)

将返回您的路径

答案 1 :(得分:0)

你有绝对路径,所以如果你确定你总是有绝对路径,你可以使用Path.GetDirectoryName(strPath)如下:

//absolute path
var filePath = @"C:\Data\PronetContent\Content\Versions\14602\Working\1234.htm";
var pathWithoutFileName = Path.GetDirectoryName(filePath);