CSVパースロジック

a """f " a
- 通常の文字列にはダブルコーテは付加されない
- 改行があるとダブルコーテが付加される
- ダブルコーテで囲われている場合は、ダブルコーテはエスケープされる
- 囲われていない場合は、エスケープされない
- 文字列内にtabはありえない
- 以上のことから次のようなルールが推定できる
if(ContsolChars.Newlineが含まれている){ 文字列内の"→"" 最初と最後に"を付加する }
分解ロジックはSTとして
A:内容期待
B:内容分析中(ダブルコーテから開始)
C:内容分析中(ダブルコーテ検出)
D:内容分析中(ダブルコーテなし)
変数として期待するカラム数
A
B
- ControlChars?.tab→積み上げた内容を返却
- "の場合、Cとする
- 以外は積み上げ