您好我想知道如何验证C#中的文件名以检查它是否以某个单词结尾(不只是包含但位于文件名的末尾)
例如,我想修改以后缀供应商结尾的某些文件,因此我想验证每个文件以测试它是否以供应商结尾,因此LondonSupplier.txt,ManchesterSupplier.txt和BirminghamSupplier.txt都将被验证并返回true但是ManchesterSuppliers.txt不会。
这甚至可能吗?我知道你可以验证一个文件名,以测试文件名中任何地方的某个单词,但是有可能做我建议的吗?
答案 0 :(得分:17)
尝试:
Path.GetFileNameWithoutExtension(path).EndsWith("Supplier")
答案 1 :(得分:1)
if(myFileName.EndsWith(“whatever”)) { // 做东西 }
答案 2 :(得分:1)
通过使用System.IO.Path.GetFileNameWithoutExtension(string)
方法,您可以从字符串中提取文件名(无扩展名)。例如,使用字符串 C:\ svn \ trunk \ MySourceFile.cs 调用它将返回字符串 MySourceFile 。在此之后,您可以使用String.EndsWith
方法查看您的文件名是否符合您的条件。
答案 3 :(得分:0)
Linq解决方案:
var result = FilePaths.Where(name => Path.GetFileNameWithoutExtension(name).EndsWith("Supplier"))
.Select(name => name).ToList();
假设FilePaths是一个包含所有路径的列表。