C# 路径过程问题
我有一个文件名叫a.b.c.d 如果我使用Path.getfilename而不使用outextension,我会得到a.b.c,我想知道如何获得a仅部分选项1:C# 路径过程问题,c#,.net,C#,.net,我有一个文件名叫a.b.c.d 如果我使用Path.getfilename而不使用outextension,我会得到a.b.c,我想知道如何获得a仅部分选项1: string p = Path.GFNWE (Path.GFNWE (Path.GFNWE (original))); 备选案文2: string p = original; int i; while ((i = p.LastIndexOf ('.')) > 0) { p = Path.GetFileNameW
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:(小心,区分大小写)
备选案文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:(小心,区分大小写)
嗯,你可以试试这样的东西
Path.GetFileName("a.b.c.d").Split('.')[0]
嗯,你可以试试这样的东西
Path.GetFileName("a.b.c.d").Split('.')[0]
这里有一个方法:
var path = "asdf.bsdf.csdf";
while(Path.HasExtension(path))
path = Path.GetFileNameWithoutExtension(path);
还有一个:
path = "asdf.bsdf.csdf";
path = path.Substring(0, path.IndexOf('.'));
请注意,如果path
实际上是一个路径而不仅仅是一个文件名,则后者需要稍加修改,而前者则不需要修改
有很多其他的方法可以做到这一点——这只是两个例子。这里有一种方法:
var path = "asdf.bsdf.csdf";
while(Path.HasExtension(path))
path = Path.GetFileNameWithoutExtension(path);
还有一个:
path = "asdf.bsdf.csdf";
path = path.Substring(0, path.IndexOf('.'));
请注意,如果path
实际上是一个路径而不仅仅是一个文件名,则后者需要稍加修改,而前者则不需要修改
还有很多其他方法可以做到这一点——这只是两个例子。您至少需要给我们举个例子。当然,这种行为是有意义的,因为
d
是Windows唯一解释为文件扩展名的东西。您所做的与GetFileNameWithoutExtension
的预期功能不同,可能更好地实现为在每个句点拆分一个字符串。您至少需要给我们一个例子。当然,这种行为是有意义的,因为d
是Windows唯一解释为文件扩展名的东西。您所做的操作与GetFileNameWithoutExtension
的预期功能不同,最好是在每个句点拆分一个字符串。如果文件名不包含任何点,则抛出。如果文件名不包含任何点,则抛出。