gpt4 book ai didi

c# 替换文件中的字符串

转载 作者:IT王子 更新时间:2023-10-29 04:25:36 25 4
gpt4 key购买 nike

String.Replace 在替换 HTML 文件的部分内容时似乎无法正常工作。例如,String.Replace 替换了 </body></html>blah blah blah </body></html> html> - 请注意第二个 HTML 结束标记未正确关闭,因此在用户在浏览器中呈现页面时显示。

有人知道为什么它没有按预期工作吗?

StreamReader sr = fi.OpenText;
String fileContents = sr.ReadToEnd();
sr.close();
fileContents = fileContents.Replace("<body>", "<body onload='jsFx();' />");
fileContents = fileContents.Replace("</body>","blah blah blah </body>");

StreamWriter sw = new StreamWriter(fi.OpenWrite());
sw.WriteLine(contents);
sw.close();

最佳答案

我可能会像这样重写你的代码:

var fileContents = System.IO.File.ReadAllText(@"C:\File.html");

fileContents = fileContents.Replace("<body>", "<body onload='jsFx();' />");
fileContents = fileContents.Replace("</body>","blah blah blah </body>");

System.IO.File.WriteAllText(@"C:\File.html", fileContents);

我应该注意到,此解决方案适用于合理大小的文件。取决于硬件,任何东西都在几十 MB 以下。它将全部内容加载到内存中。如果您有一个非常大的文件,您可能需要一次传输几百 KB 以防止 OutOfMemoryException。这让事情变得有点复杂,因为您还需要检查每个 block 之间的中断以查看是否拆分了您的搜索字符串。

关于c# 替换文件中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4339817/

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