我有一種方法,允許用戶指定一個遠程目錄和一個帶有with的searchPattern來搜索遠程目錄中的文件。由於我在從遠程位置檢索文件名時使用了第三方庫,因此我無法利用System.IO的Directory.GetFiles()例程,該例程允許我在獲取文件時指定searchPattern。使用基本字符串操作的字符串模式匹配
基本String.Compare沒有正確匹配提供的模式的文件名。任何人都知道更有效的匹配方式嗎?
public IList<String> GetMatchingRemoteFiles(String SearchPattern, bool ignoreCase)
{
IList<String> matchingFileNames = new List<String>();
var RemoteFiles = thirdPartyTool.ftpClient.GetCurrentDirectoryContents();
foreach(String filename in RemoteFiles)
if(String.Compare(filename, SearchPattern, ignoreCase) == 0)
matchingFileNames.Add(filename);
return matchingFileNames;
}
在此先感謝。
請具體說明與要求。就像你如何稱這種方法一樣? – 2013-04-24 16:36:17
正則表達式?有數千種在線搜索模式。 – 2013-04-24 16:37:26
@NikhilAgrawal - 我認爲不重要。這個問題的本質似乎是「我如何glob匹配字符串」 – Bobson 2013-04-24 16:38:02