【发布时间】:2015-09-28 03:46:55
【问题描述】:
这是我的问题。我正在从目录中获取文件列表。文件名有特定的命名约定,它们有一个国家 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
}
我想将 SG_CCMS_CARO 替换为 *_CCMS_CARDO 之类的内容,这将获取名称中包含 CCMS_CARDO 的所有文件。
任何帮助将不胜感激。 谢谢
感谢您的回答。但是还有一个问题。我得到了 7 个文件的列表,这些文件的名称相似,例如 ??_CCMS_CARDO、??_CCMS_CAMP、??_CCMS_RPC。我想要在 Contains 方法中进行通配符模式匹配,因为我正在为每个文件(??_CCMS_CARD 等)做一些事情,并且因为它在多个地方使用,所以我不想做太多的更改。我真正想要的是将多个 nputfilepath.ToUpper().Contains("ID_CCMS_CARDO_")) 替换为 nputfilepath.ToUpper().Contains("??_CCMS_CARDO_")) 之类的东西,它将所有包含 CCMS_CARDO.Thanks 的文件p>
【问题讨论】:
-
感谢您的回答。但是还有一个问题可能我没有正确解释。
-
这是什么问题?
标签: c#