У меня есть файл csv, в котором есть несколько отчетов.
Макет отчета выглядит следующим образом. Мне нужно вытащить данные для каждого отчета и сохранить его в отдельной таблице.
У меня есть выражение регулярных выражений, которое работает на regexhero.com, но когда я пытаюсь реализовать его в С#, оно не совпадает.
Любые идеи, что я ошибаюсь?
var reg = new Regex("(\"Report: Midwest Sales\")(.*?)(\"Total Records:)");
var match = reg.Matches(csvReport)
"Report: Midwest Sales"
"Order Number", "Total", "Sales Rep"
"000056","$123","Sally"
"000057","$123","Sally"
"000058,"$123","Sally"
"000059","$123","Sally"
"000060","$312","Roger"
"000061","$312","Roger"
"000062","$312","Roger"
"000063","$312","Roger"
"Total Records: 9"
"Report: Midwest Reps"
"Rep Name", "Rep Id", "Manager"
"Sally","1",""
"Roger","2","1"
"Chris","3","1"
"Gus","4","2"
"Total Records: 4"
Поскольку это единственный список, вы должны создать соединение с регулярным выражением, которое соответствует каждому из ваших разных типов записей.
((\"Report:([^\"]*"))|(\"Total Records:(.)*\")|([^\n]*))(\n|$)
В функции сопоставимых групп вы будете дифференцировать записи.