Я пытаюсь добыть некоторые данные из сырых .txt файлов, которые сохраняются в папке. В каждом файле я получил RegretionModel и несколько PeakPoints .
Мой файл необработанных данных выглядит примерно так:
Model ApprunningVersion = "10.4." Время последнего выполнения = ...... бла бла бла wr3r43f34f RegretionModel = Linear221 .... бал бал ...
k7878k7 wef34ferf PeakPoints = 11.11 .... bal bal
dwedw wf343f4 PeakPoints = 322,11 ..... бла бла ....
gewwg45gww35w PeakPoints = 6711.11 .... бла бла блааа ...
Я хотел извлечь RegretionModel и все значения PeakPoints в два разных RichTextBoxes .
if(all_files.Count>0)
{
var word_1 = "RegretionValue";
var word_2 = "PeakPoints";
foreach (string srd in all_files)
{
using (var sr = new StreamReader(srd))
{
while (!sr.EndOfStream)
{
var line = sr.ReadLine();
if (String.IsNullOrEmpty(line)) continue;
if (line.IndexOf(word_1, StringComparison.CurrentCultureIgnoreCase) >= 0)
{
int startIndex = line.IndexOf("RegretionValue \=") + "RegretionValue \=".Length;
int endIndex = line.IndexOf("\" LAPNum");
string flt_1 = line.Substring(startIndex, endIndex - startIndex);
richTextBox1.Text += flt_1 + "\r";
}
if (line.IndexOf(word_2, StringComparison.CurrentCultureIgnoreCase) >= 0)
{
int count = line.IndexOf(word_2, StringComparison.CurrentCultureIgnoreCase);
int startIndex_1 = line.IndexOf("PeakPoints \=") + "PeakPoints \=".Length;
int flt_2 = line.IndexOf("\" LPPCode");
string newString_1 = line.Substring(startIndex_1, flt_2 - startIndex_1);
richTextBox2.Text += newString_1 + "\r";
counter_1++;
label2.Text = counter_1.ToString() + " of " + matches + " completed";
label4.Text = count.ToString();
}
}
}
}
}
Это дает мне это, как я и ожидал;
|---------------------|------------------|
| Linear221 | 11.11 |
|---------------------|------------------|
| | 322.11 |
|---------------------|------------------|
| | 6711.11 |
|---------------------|------------------|
Но проблема в том, что когда я читаю несколько файлов, все смешивается.
|---------------------|------------------|
| Linear221 | 11.11 |
|---------------------|------------------|
| Linear321 | 322.11 |
|---------------------|------------------|
| | 6711.11 |
|---------------------|------------------|
| | 1.11 |
|---------------------|------------------|
| | 21.11 |
|---------------------|------------------|
Что на самом деле должно быть;
|---------------------|------------------|
| Linear221 | 11.11 |
|---------------------|------------------|
| Linear221 | 322.11 |
|---------------------|------------------|
| Linear221 | 6711.11 |
|---------------------|------------------|
| Linear321 | 1.11 |
|---------------------|------------------|
| Linear321 | 21.11 |
|---------------------|------------------|
Я знаю, использование этих двух RichTextBox-ов не лучший вариант здесь. Поэтому я подумал о том, чтобы поместить его в представление таблицы данных без использования базы данных, но я застрял при привязке каждой Peakpoint к соответствующей RegretionModel ,
например, если я читаю один файл, у меня есть одно RegretionModel Name и несколько Peakpoints , как мне поставить каждый Peakpoint с соответствующим RegrationModel в Датагрид.
Я новичок, любая помощь будет оценена.
Спасибо.