如何在c#中选择和重写文本文件的特定部分
本文关键字:文件 文本 定部 重写 选择 | 更新日期: 2023-09-27 18:29:32
我有一个文本文件,如下所示:
22 3
18 10 10
0 0 0 2 3 2
15 9 0 0 1 20
17 9 0 0 1 17
我将此文本文件读取为:
int counter = 0;
string line;
StreamReader file = new StreamReader("../../normal.txt");
while ((line = file.ReadLine()) != null)
{
Console.WriteLine(line);
counter++;
}
之后,我想删除前2行。除此之外,在剩下的行中选择第一个和第三个字符,并在已经阅读的文本下重写它们。因此,最终输出将是:
22 3
18 10 10
0 0 0 2 3 2
15 9 0 0 1 20
17 9 0 0 1 17
0 0
15 0
17 0
我该怎么做?
这样的东西怎么样:
List<string> lineList = new List<string>();
while ((line = file.ReadLine()) != null)
{
Console.WriteLine(line);
lineList.add(line);
counter++;
}
for(int i = 2; i < lineList.Count; i++) {
string[] split = lineList[i].Split(new char[] {' '});
Console.WriteLine(string.Format("{0} {1}", split[0], split[2]));
}
获取指定的输出;
List<string> data = new List<string>();
List<string> lines = File.ReadAllLines("../../normal.txt").ToList();
foreach (string item in lines.Skip(2))
{
data = item.Split(new char[] {' '}).ToList();
lines.Add(string.Format("{0} {1}", data[0], data[2]);
}
var existingLines = File.ReadAllLines("../../normal.txt");
var newLines = new List<string>();
var appendedLines = new List<string>();
for (var i = 2; i < existingLines.Length; i++)
{
// add a line
newLines.Add(existingLines[i]);
// add first and third character to the line
var split = existingLines[i].Split(' ');
appendedLines.Add(string.Format("{0} {1}", split[0], split[2]));
}
newLines.AddRange(appendedLines);
File.WriteAllLines("../../newText.txt", newLines);