這是我的問題。我正在從目錄中獲取文件列表。文件名具有特定的命名約定,它們具有國家2字符前綴,然後是通用名稱。我想根據通用名稱獲取文件,以便可以檢索所有國家/地區特定的文件。目前我正在對國家前綴進行硬編碼。 代碼如下通配符模式匹配目錄中的文件
string[] filePath = Directory.GetFiles(ConfigurationManager.AppSettings["InputFiles"]);
foreach (string inputfilepath in filePath)
{
try
{
if ((inputfilepath.ToUpper().Contains("IN_CCMS_CARDO_") ||
(inputfilepath.ToUpper().Contains("MY_CCMS_CARDO_")) ||
(inputfilepath.ToUpper().Contains("HK_CCMS_CARDO_")) ||
(inputfilepath.ToUpper().Contains("TW_CCMS_CARDO_")) ||
(inputfilepath.ToUpper().Contains("SG_CCMS_CARDO_")) ||
(inputfilepath.ToUpper().Contains("ID_CCMS_CARDO_")) ||
(inputfilepath.ToUpper().Contains("PH_CCMS_CARDO_")) ||
(inputfilepath.ToUpper().Contains("TH_CCMS_CARDO_"))))
{
// Do something here
}
我想要的東西,如* _CCMS_CARDO這將獲得具有CCMS_CARDO在其名稱中的所有文件替換SG_CCMS_CARO。
任何幫助將不勝感激。 謝謝
感謝您的答案。但還有一個問題。我得到了一個具有類似名稱的文件列表,如__ CCMS_CARDO,__ CCMS_CAMP,__ CCMS_RPC。我想要在Contains方法中匹配通配符模式,因爲我正在爲每個文件(?? _ CCMS_CARD等)做一些事情,並且由於這在多個地方使用,所以我不想做太多的改變。我真正想要的是用包含(「?? _ CCMS_CARDO_」)的東西替換多個nputfilepath.ToUpper()。包含(「ID_CCMS_CARDO_」)),這將包含CCMS_CARDO.Thanks
檢查的這個.. https://msdn.microsoft.com/en-us/library/wz42302f(v=vs.110).aspx –
可能重複[如何搜索對於使用通配符的文件列表](http://stackoverflow.com/questions/1584711/how-do-i-search-for-a-list-of-files-using-wildcard) –
感謝您的答案。但還有一個問題可能是我沒有正確解釋。 – user3694237