我正在构建一个WPF程序,该程序正在编辑一个模拟程序的保存文件,以便更容易地调整某些参数。即(TXT)文件的结构看起来像这样查找文件中的特定文本并替换该文件
{Verdieping 1}
A bunch of data
'Max'
15
20
10
]);
More data
{Verdieping 2}
A bunch of data
'Max'
25
10
40
20
]);
More data
{Verdieping 3}
etc.
因为名单,我需要的名字始终是“最大”我不能使用Replace("Old_Value", "New_Value");
所以我必须要想办法找到头{Verdieping 1}然后寻找“最大”,写的值,直到它达到‘]);’,所以我最终的东西是这样的:
Verdieping_1[0] = 15
Verdieping_1[1] = 20
Verdieping_1[0] = 10
Verdieping_2[0] = 25
Verdieping_2[1] = 10
Verdieping_2[2] = 40
Verdieping_2[3] = 20
后来,当我改变这些值我需要将它们写回的文件正确的位置现在我正在使用这段代码来读取并最终写入新文件:
var Model = System.IO.File.ReadAllText(@"C:\Base_Model.txt");
//format code here...
System.IO.File.WriteAllText(@"C:\New_Model.txt", Model);
有人能给我一些提示或帮助,我该如何最好地解决这个问题?
编辑 这是文件的实际文件结构我想eddit:
{Atom: Verdieping 2}
int015(0, 64, [
1
2
3
]);
int015(1, 64, [`ActivityID`
20
21
33
]);
int015(2, 64, [`vtp`
139830296
189540320
169919424
]);
int015(3, 64, [`%`
100
100
100
]);
int015(4, 64, [`Max`
15
5
20
]);
int015(5, 64, [`Fill (1 = fill, 0 = empty)`
1
1
0
]);
SetStatus(0);
int018;
{Atom: Verdieping 2}
int015(0, 64, [
1
2
3
]);
int015(1, 64, [`ActivityID`
22
23
24
]);
int015(2, 64, [`vtp`
166058172
165557860
155960564
]);
int015(3, 64, [`%`
100
100
100
]);
int015(4, 64, [`Max`
15
20
10
]);
int015(5, 64, [`Fill (1 = fill, 0 = empty)`
0
1
1
]);
SetStatus(0);
int018;
'最大' 我早先提到实际上是所谓: int015(4,64,[ Max
正如可以看到的名字是为每个离开的层相同,变量的量是不同的寿。
由于FO到目前为止的帮助!
“有些想法?”听起来像解析器。 –
听起来像你应该使用Xml而不是文本文件 –
也想到XML。 – dotTutorials