正しい方法です(3つのフィールドを抽出する)。文脈では、Linqを使用することをお勧めします。このLINQのは、あなたが簡単にフィルタアウトとは、例えば、に必要なデータを表すことができ照会ました
var source = File
.ReadLines(@"C:\MyData.dat")
.Select(line => line.Split(new char[] { ' ' }, 4))
.Where(items => items.Length >= 3) // it seems that you have empty lines or something
.Select(items => new {
// Let's combine date and time into DateTime
date = DateTime.ParseExact(items[0] + " " + items[1],
@"dd/MM/yyyy H:m:s.fff",
CultureInfo.InvariantCulture),
kind = items[2] });
// .ToArray(); // you may want add materialization (i.e. read once and put into array)
var test = source
.Where(item => item.date > DateTime.Now.AddDays(-3)) // let's have fresh records only
.OrderByDescending(item => item.date)
.Select(item => $"{item.date} {item.kind}");
Console.Write(string.Join(Environment.NewLine, test));
1行の長さはどのくらいですか? –
各行にRegex.Matchメソッドを使用しようとしましたか?サンプルはここにあります:https://msdn.microsoft.com/pl-pl/library/twcw2f1c(v=vs.110).aspx – Misiakw
1行の長さはスペースを含めて約199文字ですが、他のデータも含まれています長くても短くても – Englishman