路径处理问题

时间:2010-11-18 05:58:39

标签: c# .net

我有一个名为a.b.c.d的文件名 如果我使用Path.GetFileNameWithoutExtension,我得到a.b.c,我想知道如何只获得 a 部分

4 个答案:

答案 0 :(得分:2)

这是一种方式:

var path = "asdf.bsdf.csdf";

while(Path.HasExtension(path))
    path = Path.GetFileNameWithoutExtension(path);

这是另一个:

path = "asdf.bsdf.csdf";
path = path.Substring(0, path.IndexOf('.'));

请注意,如果path实际上是一个路径而不仅仅是文件名,后者需要稍加修改,而第一个则不需要。

还有很多其他方法可以做到这一点 - 这只是两个例子。

答案 1 :(得分:1)

选项1:

string p = Path.GFNWE (Path.GFNWE (Path.GFNWE (original)));

选项2:

 string p = original;
 int i;
 while ((i = p.LastIndexOf ('.')) > 0) {
      p = Path.GetFileNameWithoutExtension (p);
 }

选项3 :(小心,区分大小写)

 if (original.EndsWith (".b.c.d"))
      original = original.Substring (0, original.Length - ".b.c.d".Length);

答案 2 :(得分:1)

你可以试试像

这样的东西
Path.GetFileName("a.b.c.d").Split('.')[0]

答案 3 :(得分:1)

string fileName = "a.b.c.d";
string whatYouWant = fileName.Substring(0, fileName.IndexOf('.'));