在文本文件中搜索字符串并将其替换为另一个字符串

时间:2013-11-12 15:14:37

标签: c# replace streamreader streamwriter

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

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
{

}

1 个答案:

答案 0 :(得分:0)

我自己的问题的答案只是我需要弄清楚的正则表达式。但我设法使用以下正则表达式

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

只需更新其他人即可查看