Russian Qt Forum

Qt => Дополнительные компоненты => Тема начата: asvil от Февраль 06, 2010, 01:40



Название: simple csv parser
Отправлено: asvil от Февраль 06, 2010, 01:40
2010 год, а я даже не с велосипедом, еще с колесом вожусь.
На code.google лежит, но он реализован на рег. выражениях. Поэтому вашему вниманию предоставляется моя версия. Зависит от Qt. Если у кого лучше и без коммерческого бремени, поделитесь.
Пользоватся просто, объяснять не буду.
Если есть время гляньте на testg.csv. Первое значение какое должо быть?


Название: Re: simple csv parser
Отправлено: asvil от Февраль 10, 2010, 00:35
Другая версия, парсинг уже более приближен к rfc.
Одна проблема
value1,123,"     value3     ",     value4        ,

При включенном trimSpace на выходе будет
QStringList("value1","123","value2","value4","")
То есть предшествующие и последующие пробелы будут удалены даже при экранировании.
При выключенном trimSpace будет
QStringList("value1","123","   value2    ","    value4    ","")

Так же выкладываю парсер командной строки от froglogic.com
Я просто заменил типы с qt3 на qt4. Как пользоваться в комметариях.


Название: Re: simple csv parser
Отправлено: lit-uriy от Февраль 10, 2010, 00:38
могет быть помогет:
QStringList QString::split ( const QString & sep, SplitBehavior behavior = SkipEmptyParts, Qt::CaseSensitivity cs = Qt::CaseSensitive ) const


Название: Re: simple csv parser
Отправлено: asvil от Февраль 10, 2010, 23:06
Спасибо, но у меня там посимволный перебор. Я остановился на такой, немного не по рфцфеншую, реализации, Предупредил, если кто будет пользоваться.