私はMarc GravellとJon Skeetに感謝しますが、私の質問は、FileHelpersライブラリを使って記述された形式の行を含むファイルを解析する方法でした(ただし、「CSV実際にはそうではありません)。
私は今、これを行う方法を見つけました。特に最も洗練された方法ではありませんが、それは仕事を完了させます。理想的な世界で、私はこの特定の実装でFileHelpersを使用していないでしょう。興味を持っている人のために)
、解決策は、次のようにFileRecordクラスを作成することです:
で立ち往生
[DelimitedRecord(" ")]
public sealed class HTTPRecord
{
public String IP;
// Fields with prefix 'x' are useless to me... we omit those in processing later
public String x1;
[FieldDelimiter("[")]
public String x2;
[FieldDelimiter("]")]
public String Timestamp;
[FieldDelimiter("\"")]
public String x3;
public String Method;
public String URL;
[FieldDelimiter("\"")]
public String Type;
[FieldIgnored()]
public String x4;
[FieldDelimiter(" ")]
public String x5;
public int HTTPStatusCode;
public long Bytes;
[FieldQuoted()]
public String Referer;
[FieldQuoted()]
public String UserAgent;
}
私のミス、今日のCSVモードは、これが私が午前中に行ってきたことです。 FileHelpersは、 "固定長のデータまたはファイル内の区切られたレコードからデータを読み込む"と言います。私はこれがスペースで区切られていると推測しましたが、フィールドの引用符は異なっています。私は正規表現を見ていきます、ありがとう。 – Richard