У меня есть текстовый файл, который находится в формате, разделенном запятыми, с разделителем "
в большинстве полей. Я пытаюсь получить это во что-то, что я могу перечислить (Generic Collection, например). Я не контролирую, как файл выводится, и символ, который он использует для разделителя.
В этом случае поля разделяются запятой, а текстовые поля заключаются в метки "
. Проблема, с которой я сталкиваюсь, заключается в том, что некоторые поля имеют в них кавычки (т.е. 8 "
Лоток) и случайно попадают в следующее поле. В случае числовых полей у них нет котировок вокруг них, но они начинаются с знака + или а (с изображением положительного/отрицательного числа).
Я думал о RegEx, но мои навыки не настолько велики, поэтому, надеюсь, кто-то может придумать некоторые идеи, которые я могу попробовать. В этом файле содержится около 19 000 записей, поэтому я стараюсь сделать это максимально эффективно. Вот пара примерных строк данных:
"00","000000112260 ","Pie Pumpkin ","RET","6.99 "," ","ea ",+0000000006.99000
"00","000000304078 ","Pie Apple caramel ","RET","9.99 "," ","ea ",+0000000009.99000
"00","StringValue here","8" Tray of Food ","RET","6.99 "," ","ea ",-00000000005.3200
Есть намного больше полей, но вы можете получить изображение....
Я использую VB.NET, и у меня есть общая настройка List для принятия данных. Я попытался использовать CSVReader, и, похоже, он работает хорошо, пока вы не нажмете запись, подобную третьей (с цитатой в текстовом поле). Если бы я мог каким-то образом обработать дополнительные кавычки, то опция CSVReader будет работать отлично.
Спасибо!