regex для разделения строки (файл CSV)

Я не хорош в regex. Кто-то может выручить меня для записи regex для меня?

У меня могут быть значения как это при чтении файла CSV.

"Artist,Name",Album,12-SCS
"val""u,e1",value2,value3

Вывод:

Artist,Name  
Album
12-SCS
Val"u,e1 
Value2 
Value3

Обновление: Мне нравится идея с помощью поставщика Oledb. Мы действительно имеем контроль загрузкой файла на веб-странице, что я считал содержание файла с помощью потокового читателя без фактического файла сохранения в файловой системе. Есть ли любой способ, которым я могу поставщик пользователя Oledb, потому что мы должны указать имя файла в строке подключения и в моем случае, мне не экономили на файле файловая система.

8
задан shailesh 19 July 2010 в 14:20
поделиться

3 ответа

Посмотрите на класс TextFieldParser . Он находится в сборке Microsoft.VisualBasic и выполняет синтаксический анализ с разделителями и фиксированной шириной.

5
ответ дан 5 December 2019 в 05:18
поделиться

Regex не подходит для этого. Используйте синтаксический анализатор CSV . Либо встроенный , либо сторонний .

6
ответ дан 5 December 2019 в 05:18
поделиться

Regex здесь может оказаться слишком сложным. Разделите строку на запятые, а затем пройдитесь по результирующим битам и объедините их так, чтобы "количество двойных кавычек в объединенной строке" не было четным.

"hello,this",is,"a ""test"""

...split...

"hello | this" | is | "a ""test"""

... итерируйте и объединяйте, пока не получите четное количество двойных кавычек...

"hello,this" - четное количество кавычек (обратите внимание, что запятая удалена разделителем, вставленным между битами)

is - четное количество кавычек

"a ""test""" - четное количество кавычек

...затем удалите ведущую и последующую кавычки, если они есть, и замените "" на "".

-1
ответ дан 5 December 2019 в 05:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: