首页 > 解决方案 > 替换文本文件中的多个字符串

问题描述

我需要替换文本文件中的多个字符串。这是我的代码:

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);
}

当我调试时,我可以看到字符串一个接一个地被替换,但是当下一个字符串即将被替换时,最后一个字符串将返回到它的旧值。有没有办法替换文本文件中的多个字符串?

标签: c#

解决方案


您不需要为此提供列表,但您确实需要在每次进行替换时将更改保存在结果字符串中,否则您会丢失更改。

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);

推荐阅读