我知道我可以做如何檢查文件名是否匹配通配符模式?
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