Я ищу строки, которые будут соответствовать моему регулярному выражению.C# insert regex match to datatable
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
Теперь ставит все матчи в DataTable, но в обычном порядке. Я хотел бы указать, в какой колонке нужно поместить каждое слово. Например, я хочу уметь помещать слово «this» внутри столбца «Значение» и т. Д.
Я знаю из своей предыдущей темы (String separation C#), что я могу указать как-то match.Group ["C0"]. Значение, но я не знаю, как его реализовать здесь.
Я боюсь, что это не работает, он только дает это сообщение в первой колонке System.Collections.Generic.List'1 [System.Text.RegularExpressions.Group] – user2592968
отредактированный ответ с .ToArray() Я забыл об этом. – Marwie
Хорошо, вы правы, отлично работает. Спасибо за помощь. – user2592968