gpt4 book ai didi

C# 将正则表达式匹配插入数据表

转载 作者:太空宇宙 更新时间:2023-11-03 11:00:35 24 4
gpt4 key购买 nike

我正在寻找与我的正则表达式匹配的行。

var dataTable = new DataTable();
foreach (var columnName in new[] { "Category", "Device", "Data Type", "Value", "Status" })
dataTable.Columns.Add(columnName);

Regex regex = new Regex(@"^(?:(?<C0>Put) (?<C1>\S+) (?<C2>\S+) (?<C3>\S+) (?<C4>\S+))$");

var matches = lines.Select(line => regex.Match(line));

foreach (var match in matches)dataTable.Rows.Add(match.Groups.Cast<Group>().Skip(1).ToArray());

我的意见

Put this inside datatable spec

现在它将所有匹配项放入数据表中,但按正常顺序排列。我希望能够指定将每个单词放在哪一列中。例如,我希望能够将单词“this”放入“Value”等列中。

我从我之前的主题 ( String separation C# ) 知道我可以以某种方式指定 match.Group["C0"].Value,但我不知道如何在这里实现它。

最佳答案

您可以创建自己的顺序,方法是先用您喜欢的顺序实例化一个包含元素的列表,然后将其转换为数组。

  dataTable.Rows.Add((new List<Group>{match.Groups["C0"], match.Groups["C1"]}).ToArray());

您可以通过直接创建一个组数组来省略列表<>——这同样有效:

  dataTable.Rows.Add(new Group[] { match.Groups["C1"], match.Groups["C0"] });

关于C# 将正则表达式匹配插入数据表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17827495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com