为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用C#查找和替换文件中的文本

如何使用C#查找和替换文件中的文本

MMMHUHU 2019-12-12 14:57:09
到目前为止我的代码StreamReader reading = File.OpenText("test.txt");string str;while ((str = reading.ReadLine())!=null){      if (str.Contains("some text"))      {          StreamWriter write = new StreamWriter("test.txt");      }}我知道如何查找文本,但是我不知道如何用自己的文本替换文件中的文本。
查看完整描述

3 回答

?
绝地无双

TA贡献1946条经验 获得超4个赞

您需要将读取的所有行都写入输出文件,即使您不进行更改也是如此。


就像是:


using (var input = File.OpenText("input.txt"))

using (var output = new StreamWriter("output.txt")) {

  string line;

  while (null != (line = input.ReadLine())) {

     // optionally modify line.

     output.WriteLine(line);

  }

}

如果要就地执行此操作,那么最简单的方法是使用临时输出文件,最后将输入文件替换为输出。


File.Delete("input.txt");

File.Move("output.txt", "input.txt");

(很难在文本文件的中间执行更新操作,因为考虑到大多数编码都是可变宽度的,因此很难总是用相同的长度来进行替换。)


编辑:最好不要使用两次文件操作来替换原始文件File.Replace("input.txt", "output.txt", null)。(请参阅MSDN。)


查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 1145 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信