【发布时间】:2013-04-18 07:50:49
【问题描述】:
我有一个方法允许用户指定一个远程目录和一个 searchPattern with with 来搜索远程目录中的文件。由于我在从远程位置检索文件名时使用第三方库,因此我无法利用 System.IO 的 Directory.GetFiles() 例程,该例程允许我在获取文件时指定 searchPattern。
Basic 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;
}
提前致谢。
【问题讨论】:
-
请具体说明要求。请问这个方法怎么称呼?
-
正则表达式?在线搜索模式有数千种。
-
@NikhilAgrawal - 我认为这并不重要。问题的本质似乎是“我如何全局匹配字符串”
-
什么意思我怎么称呼这个方法?当 SearchPattern 是用户提供的任意字符串模式时,我如何使用正则表达式,我想尽可能地匹配?
标签: c# .net string pattern-matching match