gpt4 book ai didi

c# - 如何在同一个文件中优雅地实现多个字符串替换?

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

目前我有一些代码可以替换文件中的字符串,如下所示:

File.WriteAllText(filePath, Regex.Replace(File.ReadAllText(filePath),
"( " + column.Key + " )",
" " + column.Value + " "
));
File.WriteAllText(filePath, Regex.Replace(File.ReadAllText(filePath),
"(\\[\"" + column.Key + "\"\\])",
"[\"" + column.Value + "\"]"
));

但是,每次替换都会打开和关闭文件,而且似乎偶尔它们运行“太快”并且一次替换将不起作用,因为文件在之前的字符串替换中尚未关闭。有没有我可以重用的代码来解决这个问题,也许使用 FileStream 类(这样我就可以打开和关闭一次)?或者关于更好的方法的建议?只是想知道是否有比创建要替换的字符串的字节数组和编写代码以手动读取、写入和查找字节更简单的方法。谢谢。

最佳答案

更好的做法是读取文件内容一次,并将其存储到局部变量中。然后执行您需要的任何更改(在您的情况下,两个正则表达式),然后将该输出写入文件。文件 IO 是计算机可以执行的最昂贵的操作之一,内存计算要便宜得多。尽可能少地撞击磁盘,只要你能避免它。

关于c# - 如何在同一个文件中优雅地实现多个字符串替换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5638556/

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