gpt4 book ai didi

c# - 从 .txt 文件中删除所有行,以特定单词开头的行除外

转载 作者:太空宇宙 更新时间:2023-11-03 20:49:31 24 4
gpt4 key购买 nike

我正在尝试创建一个程序,该程序将从文本文件中读取所有行并删除所有文本,但以“第 1 行:、第 2 行:、第 3 行:”等开头的行除外。

UPDATE

感谢您的所有建议。这是最终的工作代码:

//PROCEDURE
private void Procedure()
{
// READ AND APPEND LINES
var file_path = @"Tags.txt";
var sb = new StringBuilder();
foreach (var line in File.ReadLines(file_path))
{
if (Regex.IsMatch(line, @"^Line\s+[0-9]+:") || (Regex.IsMatch(line, @"^Zeile\s+[0-9]+:") || (Regex.IsMatch(line, @"^Linea\s+[0-9]+:"))))
{
sb.AppendLine(line);
}
}

// SAVE BACK
File.WriteAllText(file_path, sb.ToString());
}

private void btnRefine_Click(object sender, RoutedEventArgs e)
{
Procedure();
}

欢迎对代码进行任何改进。

最佳答案

void ProcessFile()
{
var file_path = @"Tags.txt";
var sb = new StringBuilder();
foreach (var line in File.ReadLines(file_path))
{
if (!Regex.IsMatch(line, @"^Line\s+[0-9]+:"))
{
sb.AppendLine(line);
}
}
// Save back
File.WriteAllText(file_path, sb.ToString());
}

更新

您可以改用 LINQ。那么之前的代码会是这样的:

void ProcessFile()
{
var file_path = @"Tags.txt";
File.WriteAllLines(file_path, File.ReadLines(file_path).Where(line => !Regex.IsMatch(line, @"^Line\s+[0-9]+:")));
}

关于c# - 从 .txt 文件中删除所有行,以特定单词开头的行除外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56817286/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com