我要做的是从.text文件中删除某些文本。例如:
我有一个带有以下文字的.text文件。
Hello
This
Is <----- I would like to delete this line from the file.
My
Text
我尝试使用以下代码:
private void DeleteButton2_Click(object sender, EventArgs e)
{
if (comboBox2.SelectedItem == "")
{
MessageBox.Show("Please Select a Contact.");
}
else
{
comboBox2.Items.Remove(comboBox2.SelectedItem);
comboBox1.Items.Remove(comboBox2.SelectedItem);
File.Delete(comboBox2.SelectedItem + ".txt");
string SelectedItem = comboBox2.SelectedItem.ToString();
string empty = "";
string Readcurrentcontacts = File.ReadAllText(contactpath);
Readcurrentcontacts.Replace(SelectedItem, empty);
}
}
没有成功的结果。如果您需要任何进一步的信息,请告诉我!提前谢谢!
答案 0 :(得分:1)
File.ReadLines
和File.WriteAllLines
方法在这里很有用:
string SelectedItem = comboBox2.SelectedItem.ToString();
var allLines = File.ReadLines(contactpath)
// Linq filter to exclude selected item
var newLines = allLines.Where(line => line != SelectedItem);
File.WriteAllLines(contactpath, newLines);
请注意,Where
是一个Linq扩展方法,它将IEnumerable作为输入,并根据您提供的谓词返回一个子集。因此,上面的行接受输入(文件中的所有行),并返回所有不等于SelectedItem
的行。