我正在寻找与我的正则表达式匹配的行。
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”列中,依此类推。
我从我之前的主题(字符串分离 C#)中知道我可以以某种方式指定 match.Group["C0"].Value,但我不知道如何在这里实现它。