从文本文件中替换多个字符串

Jac*_*cce 0 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);
}
Run Code Online (Sandbox Code Playgroud)

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

Ruf*_*s L 5

您不需要列表,但每次更换时都需要在结果字符串中保存更改,否则您将丢失更改.

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);
Run Code Online (Sandbox Code Playgroud)

  • @ChrisH 我只会在您的原始答案实际上是错误的情况下删除您的原始答案,另一个答案足够“更好”以至于您的答案被否决,或者您的答案出现得足够早以至于它的得分明显高于更好的答案。否则,如果一个人想到了这个想法,那么其他人也可能会想到,这让未来的人明确地比较这两个选项,并看到社区更重视另一个答案。甚至可能是他们的情况略有不同,因此您的回答对他们更有帮助。 (2认同)