C# - 改进RegEx

时间:2018-03-07 14:26:36

标签: c# regex list lambda

我的软件在文本文件中搜索ID,并为其添加了更多信息。

示例:已找到此ID:

  

123456-789

将添加以下信息:

  

123456-789的 x0,0,0,0,0

ID及其附加信息将保存到列表中。

如果我的软件在文本文件中的另一个点找到原始ID并且某个条件匹配,它将运行此代码,搜索列表以从列表中删除该项并增加一些计数器。

var ID = (GRP.Match(line)).Groups["id"].Value + @"x\d,\d,\d,\d,\d";

for (int i = 0; i < list.Count; i++)
{
    if (Regex.IsMatch(list.ElementAt(i), ID))
    {
        list.RemoveAt(i);

        pfcounter++;
        excounter++;
        break;
    }
}

我觉得这段代码正在减慢我的软件速度(它运行的文件大小为1.6 GB)。

我想找到一些比上面的代码更快的代码。以下想法没有成功:

var ID = (GRP.Match(line)).Groups["id"].Value + @"x\d,\d,\d,\d,\d";

if (Regex.IsMatch((n => list.ElementAt(n)), ID))
{
     // Do something
}

你有什么想法吗?

0 个答案:

没有答案