我知道我可以做如何检查文件名是否匹配通配符模式?
Directory.GetFiles(@"c:\", "*.html")
,我会得到匹配* .html文件模式的文件列表。
我想做相反的事情。鉴于文件名称abc.html,我想要一个方法,告诉我,如果该文件名匹配* .html模式。例如
class.method("abc.html", "*.html") // returns true
class.method("abc.xml", "*.html") // returns false
class.method("abc.doc", "*.?oc") // returns true
class.method("Jan24.txt", "Jan*.txt") // returns true
class.method("Dec24.txt", "Jan*.txt") // returns false
该功能必须存在于dotnet中。我只是不知道它在哪里暴露。
将模式转换为正则表达式可能是一种方法。然而,似乎有很多边缘案例,可能比它的价值更麻烦。
注意:问题中的文件名可能还不存在,所以我不能只包装一个Directory.GetFiles调用并检查结果集是否有任何条目。去
这对于无效的文件名不起作用。 'Match(“aaa/bbb.txt”,“* .txt”);'将返回* true * – I4V 2013-03-26 21:50:21
原始问题不包含路径,只包含文件名匹配。但是您始终可以使用Path.GetFileName()提取文件名。 – Alexander 2013-03-27 07:20:55
我说**无效的**文件名像'aaa/bbb.txt'。不*路径* – I4V 2013-03-27 16:54:23