我正在尝试从保存在文件夹中的原始.txt文件中挖掘一些数据。在每个文件中,我都有 RegretionModel 和多个 PeakPoints 。 我的原始数据文件看起来像这样;
Model ApprunningVersion =“ 10.4”。 LastExecution time = ...... bla bla bla wr3r43f34f RegretionModel = Linear221 .... bal bal ...
k7878k7 wef34ferf PeakPoints = 11.11 .... bal
dwedw wf343f4 PeakPoints = 322.11 ..... bla blaa ....
gewwg45gww35w PeakPoints = 6711.11 .... bla bla blaaa ...
我想将 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 |
|---------------------|------------------|
我知道,使用这两个RichTextBoxes不是最好的选择。因此,我想到了不使用数据库就将其放入数据网格视图的方法,但是我坚持将每个 Peakpoint 链接到相应的 RegretionModel , 例如,如果我读取一个文件,我有一个 RegretionModel 名称和多个 Peakpoints ,我该如何将每个 Peakpoint 与相应的 RegrationModel < / strong>到Datagrid。
我是新手,将不胜感激。 谢谢。