检查列表中的值是否忽略最后几个字符

时间:2018-09-01 14:46:28

标签: c# regex

我有一个文件列表(某些文件以_HHMMss结尾。 *,其中* 是扩展名)。

我要检查列表中是否存在忽略“ _HHMMss”的特定文件,这意味着: 如果我有清单:

A_Log_YYYY_MM_DD_121122.csv
B_Log_YYYY_MM_DD_112211.csv
C_Log_YYYY_MM_DD_333333.csv
D_Log_YYYY_MM_DD_555555.csv
E_Log_YYYY_MM_DD_777765.csv

检查是否存在“ A_Log_YYYY_MM_DD.csv”,在这种情况下答案为TRUE 有没有一种快速的方法?

1 个答案:

答案 0 :(得分:1)

var list = new List<string> { .... }; // add your strings here

Regex reg = new Regex("[A-Z]_Log_[0-9]{4}_[0-9]{2}_[0-9]{2}_[0-9]{6}.csv");
bool matches = list.Any(x => reg.IsMatch(x));

当找到第一个匹配元素时,linq查询(.Any(...))停止。