У меня есть файл CSV (который я не проектировал, и я не могу изменить сейчас, и я никогда не смогу его изменить), который содержит строки, подобные следующим:
"Surname, Firstname", yes, no, somestring, whatever, etc
Как вы можете видеть здесь, первая ,
- это не запятая, по которой я хочу разбить строку. Обратите внимание, что эта конкретная запятая заключена в кавычки.
Из-за этого простой string.split(',')
, очевидно, не будет работать, так как он даст мне массив длины 7 для вышеуказанной строки вместо 6.
Есть ли способ обойти это? Я думал об использовании регулярного выражения для разделения строки, но я недостаточно компетентен в регулярном выражении, чтобы думать о шаблоне, который будет разбиваться только на запятые, которые не заключены в кавычки.
Я могу придумать уродливые, хакерские способы сделать это, читая каждый строковый символ за символом, но это должно быть последним средством, так как я уверен, что есть лучший способ сделать это!