c# - 替换文本文件中的多个字符串
问题描述
我需要替换文本文件中的多个字符串。这是我的代码:
List<string> list = new List<string>();
string Text = File.ReadAllText(temp);
list.Add(Text.Replace("name", name));
list.Add(Text.Replace("name2", name2));
list.Add(Text.Replace("1.0000", CR));
list.Add(Text.Replace("0.6590", CG));
list.Add(Text.Replace("0.0000", CB));
foreach (string txt in list)
{
File.WriteAllText(path, txt);
}
当我调试时,我可以看到字符串一个接一个地被替换,但是当下一个字符串即将被替换时,最后一个字符串将返回到它的旧值。有没有办法替换文本文件中的多个字符串?
解决方案
您不需要为此提供列表,但您确实需要在每次进行替换时将更改保存在结果字符串中,否则您会丢失更改。
该Replace
方法返回一个带有替换的新字符串,因此您可以将调用链接到Replace
,它最终将返回一个包含所有更改的字符串。
这是一个例子:
string text = File.ReadAllText(temp)
.Replace("name", name)
.Replace("name2", name2)
.Replace("1.0000", CR)
.Replace("0.6590", CG)
.Replace("0.0000", CB);
File.WriteAllText(path, txt);
推荐阅读
- sql - 统计表中的记录并显示特定值的行号
- excel - 计算 Excel 行中的当前条纹
- mysql - 优化 Eloquent 关系检索
- python - 这是在 python 中正确使用 `in` 关键字吗?
- android - 如何在未迁移到 Androidx 的项目中使用 Androidx 库
- javascript - 使用 Sequelize 在多个表之间创建“多对多”关系
- android - 在两个警报对话框之间传递信息
- xamarin.forms - 如何在 SKCanvasView 上实现捏缩放和滑动?
- c# - WPF - 运行 CMD 会打开路径错误的控制台窗口
- javascript - 在 ASP.NET 中录制音频并将其保存到计算机中的特定驱动器