Регулярное выражение для обработки запятой, двойных кавычек, кавычек - PullRequest
0 голосов
/ 16 сентября 2011

Я пытаюсь создать файл CSV после чтения данных из базы данных.Теперь отдельные данные могут содержать запятую, одинарную кавычку и двойные кавычки.

Пожалуйста, сообщите мне, как мне справиться с этой ситуацией с помощью регулярного выражения.

Ответы [ 4 ]

2 голосов
/ 16 сентября 2011

Самый простой - это поставить кавычки вокруг всех данных, тогда у вас могут быть запятые, кавычки (двойные кавычки) и разрывы строк в данных без проблем.

Вам нужно только избегать кавычек вданные, заменив их двойными кавычками.Для этого вам не нужно регулярное выражение, просто используйте обычную строку replace.

Апострофы (одинарные кавычки) не имеют особого значения в формате CSV, поэтому они не являются проблемой.

2 голосов
/ 16 сентября 2011

Можете ли вы использовать другой разделитель для вашего CSV-файла?Труба (|) возможно?

1 голос
/ 16 сентября 2011

Ну, запятые на самом деле не проблема, потому что они заключены в двойные кавычки для обозначения строки. То же самое для одинарных кавычек. Единственное, что вам нужно сделать, это избежать двойных кавычек. Вот пример:

Джо сказал: «Иди домой и не опаздывай. У меня большие проблемы».

станет

"Джо сказал:" Иди домой и не опаздывай. У меня были бы "большие" проблемы "" "

0 голосов
/ 16 сентября 2011

Написание функционального парсера CSV не является тривиальной задачей, хотя формат данных очень простВместо этого рассмотрите использование библиотеки для этого.Я использовал библиотеку CSVReader , и это очень просто.Сайт также содержит примеры кода.

...