0

我试图用另一行替换文本文件中的一行。例如,文本文件可能如下所示:

defaultServerList;data.dat
mcResSkin:something_that_can_vary.zip

假设我想用其他东西替换“mcResSkin:”之后的任何内容,以便最终看起来像这样

mcResSkin:default.zip

我怎样才能做到这一点?据了解,您需要先读取整个文件,然后在进行更改后再次将其写出。但我不确定如何执行上述操作。这就是我所拥有的:

try
{
    var content = string.Empty;
    using (StreamReader reader = new StreamReader(selectedPath + "\\settings.txt"))
    {
         content = reader.ReadToEnd();
         reader.Close();
    }

    newcontent = Regex.Replace(something_to_replace_the_whole_line);

    using (StreamWriter writer = new StreamWriter(selectedPath + "\\settings.txt"))
    {
         writer.Write(newcontent);
         writer.Close();
    }
}
catch
{

}
4

1 回答 1

0

我自己的问题的答案就是我需要弄清楚的正则表达式。但我设法通过使用以下正则表达式来做到这一点

string newcontent = Regex.Replace(content, ".*mcResSkin:.*", "mcResSkin:default.zip\n");

只是更新给别人看

于 2013-11-12T18:17:00.213 回答