すべての行が入ってtextLines1
おり、これらすべての行の平均経過時間を計算したいと考えています。これについて正規表現を試しました。しかし、それは私に間違った計算を与えています。
ログファイル形式:
INFO: WX ADVSearch = Server:testserver Entity:BUG User:acucu Elapsed Time:274ms
INFO: WX ADVSearch = Server:testserver Entity:BUG User:acucu Elapsed Time:274ms
私が試したコードは次のとおりです。
List<string> textLines1 = new List<string>(users);
string x = string.Join(",", textLines1);
Regex regex = new Regex(@"Elapsed Time:\s*(?<value>\d+\.?\d*)\s*ms");
Match match = regex.Match(x);
double totalTime = 0;
int count = 0;
foreach (string line in textLines1)
{
if (match.Captures.Count > 0)
{
try
{
count++;
double time = Double.Parse(match.Groups["value"].Value);
totalTime += time;
}
catch (Exception)
{
// no number
}
}
}
double average = totalTime / count;
Console.WriteLine("ADVAverage=" + average);