Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从文件中获取文件名;模板.docx.amp";在c#中?_C# - Fatal编程技术网

如何从文件中获取文件名;模板.docx.amp";在c#中?

如何从文件中获取文件名;模板.docx.amp";在c#中?,c#,C#,我有一个奇怪的模板,它的扩展名是“.docx.amp”。现在我想得到文件名。i、 e“模板”。Path.GetFileNameWithoutExtension()返回template.docx时失败。是否有其他内置机制,否则我将不得不采用ugle字符串比较/拆分方式。请建议并给出一些解决方法不,您必须使用某种字符串拆分,例如: var nameWithoutExtension = filename.Split('.')[0]; “string[]split(char)”是最有效的解决方案,无需

我有一个奇怪的模板,它的扩展名是“.docx.amp”。现在我想得到文件名。i、 e“模板”。Path.GetFileNameWithoutExtension()返回template.docx时失败。是否有其他内置机制,否则我将不得不采用ugle字符串比较/拆分方式。请建议并给出一些解决方法

不,您必须使用某种字符串拆分,例如:

var nameWithoutExtension = filename.Split('.')[0];

“string[]split(char)”是最有效的解决方案,无需进入regexps的领域+1从我这里。@Maciek但是如果文件名中有一个
就不起作用,例如:
test.file.name.docx.amp
将生成
test
而不是
test.file.name
的属性值@Kelsey。。。在上面的例子中,很明显扩展名是什么,因为作为人类,我们认识到docx是一个常见的扩展名,但是名为“document.something.somethingelse”的文件呢?非扩展部分是“document”还是“document.something”?在一般情况下,计算扩展是不确定的,因此我选择了一种方法,为原始问题中提出的问题提供了正确答案。我同意,但如果你看我的答案,他会发表评论说扩展总是
.something.something
,所以你只需要得到最后两部分。