1

csv ファイルからデータを取得した大きな文字列がありますが、次のような正規表現を使用する場合:

Regex regex = new Regex(@"\w+|""[\w\s]*""");

代わりにすべての文字を分割しますか?各行にスペースはありません。行末にのみありますが、二重引用符内にスペースがある行を切り取ってはいけません。

例: test1,test2,test3,test4,test5,"test 6",test7 (改行)test8,test9,など

誰かが私を正しい方向に導くことができますか? ありがとう

4

2 に答える 2

4

独自のソリューションを再発明するよりも、既存のソリューションを参照することをお勧めします (学習経験が必要な場合を除きます)。CSV の解析は、思ったよりも複雑です。

編集: C# を使用しているとは思いませんでした。 ここ 他の リンクがあります。

于 2012-08-06T15:17:16.020 に答える
1

使用しようとするのではなく、既存の CSV パーサーを使用してください。ご覧のとおりRegex、形式は微妙です。

FileHelpersはこのための人気のあるライブラリの 1 つであり、名前空間にTextFieldParser住んでいます。Microsoft.VisualBasic.FileIO

于 2012-08-06T15:20:09.883 に答える