我正在寻找打开文本文件的代码,然后逐行读取文本文件,如果文本文件中的行(每行将存储大约 5 个值)不包含某个值,例如“hart”,那么我想删除该行。我正在使用 c# 和 vs2012,谁能告诉我如何做到这一点?正在读取的文件是 csv 文件。我这里没有代码示例,因为我当前的代码不起作用,我觉得给出示例只会引起更多的混乱,而不是要求某人向我展示一种全新的方法来做到这一点。
我已经添加了我目前拥有的代码,它将所有数据添加到文本文件中,但是我需要弄清楚的代码是获取这些结果并过滤它们
foreach (DataRow dr in this.CalcDataSet.Items)
{
foreach (object field in dr.ItemArray)
{
str.Append(field.ToString() + ",");
}
str.Replace(",", "\n", str.Length - 1, 1);
}
try
{
System.IO.File.WriteAllText(Filepath, str.ToString());
}
catch (Exception ex)
{
MessageBox.Show("Write Error :" + ex.Message);
}
var lines = System.IO.File.ReadAllLines(Filepath).ToList();
var acceptedLines = new List<string>();
foreach (var line in lines)
if (Matches(line))
acceptedLines.Add(line);
System.IO.File.WriteAllLines(Filepath, acceptedLines);
}
private bool Matches(string s)
{
if (s == cmbClientList.SelectedText.ToString())
{
return true;
}
else return false;
}