次のような行を含むCSVファイル(私は設計していないので変更できません。変更することもできません):データにカンマが含まれている場合、コンマで区切る文字列
"Surname, Firstname", yes, no, somestring, whatever, etc
あなたがここに見ることができるように、最初の,
は、私は、文字列を分割したいと思いますどのカンマではありません。この特定のカンマは引用符で囲まれています。このため
、それは代わりに6
の上記の文字列のために私に長さ7の配列を与えるだろうと明らかにstring.split(',')
簡単で、動作しませんが、この問題を回避する方法はありますか?私は代わりに文字列を分割するために正規表現を使用することを考えていましたが、正規表現では引用符で囲まれていないコンマで区切られるパターンを考えるのは十分ではありません。
私はcharで各文字列charを読み込むことで醜い、ハックな方法を考えることができますが、これはもっと良い方法があると確信しているので、これは最後の手段でなければなりません!
これはExcelの.csvのようです。常に楽しい。より楽しいのは、データに引用符とカンマが含まれている場合です。 –
実際にはExcelではありませんが、楽しいですよ! :)それはネット上の場所から来たもので、私のプログラムはファイルを読み込み、それを解析しようとします。 – AndrewC
一度に1文字を読むことは必ずしも醜いハックではありません。私はC#CSVパーサを見つけることをお勧めします。 –