1

テキスト ファイルを一度に複数の場所に分割してリストに保存する方法はありますか?

分割を 1 か所で行い、次のようなリストに書き込むことができました。

var incomplete = File
            .ReadAllLines(path)
            .Select(a => a.Split(new[] { '|' }, StringSplitOptions.None)[5].Trim())
            .ToList();

4か所に分割してリストに書きたいと思います。

var mnbrs = File
            .ReadAllLines(path)
            .Select(a => a.Split('|')[2].Trim())
            .Select(b => b.Split('|')[5].Trim())
            .Select(c => c.Split('|')[6].Trim())
            .Select(d => d.Split('|')[11].Trim())
            .ToList();

これにより、エラー インデックスが配列の範囲外であることがわかります。

どんな助けでも大歓迎です。また、ファイリングを別の方法で分割して読むこともできます。ファイル分割を 1 回読み取ってから一覧表示し、次に agian を読み取って再度分割し、それを 4 回実行することは避けたいと思います。

4

1 に答える 1

6

あなたは2つのステップでそれをしたいです。最初に分割してから、個々の列を選択します。

File
    .ReadAllLines(path)
    .Select(a => a.Split(new[] { '|' }, StringSplitOptions.None))
    .Select(a => new {
        Column1 = a[2].Trim(),
        Column2 = a[5].Trim(),
        Column3 = a[6].Trim(),
        Column4 = a[11].Trim()
    })
    .ToList();

デモ: http: //ideone.com/aNyNT5

于 2012-12-27T17:00:11.853 に答える