如何从包含换行符的文本文件中删除一行并将内容复制到另一个文件?

时间:2017-02-03 18:59:03

标签: c# file

我需要的是: -

  1. 使用换行符删除文件中的一行
  2. 将内容复制到另一个文件。
  3. 假设文件内容如下: -

    sometextsometextsometext
    sometextsometextsometext
    sometextsometextsometext
    sometextsometextsometext
    111111111
    sometextsometextsometext
    sometextsometextsometext
    

    我想删除包含111111111的行,所以我使用了下一个代码: -

    string content = File.ReadAllText(sOutputPathFileFrom);
    content = content.Replace("111111111", "");
    File.AppendAllText(sOutputPathFileTo, content);
    

    sOutputPathFileTo的结果如下: -

    sometextsometextsometext
    sometextsometextsometext
    sometextsometextsometext
    sometextsometextsometext
    
    sometextsometextsometext
    sometextsometextsometext
    

    所需的结果如下: -

    sometextsometextsometext
    sometextsometextsometext
    sometextsometextsometext
    sometextsometextsometext
    sometextsometextsometext
    sometextsometextsometext
    

    注意: - sOutputPathFileFrom& sOutputPathFileFrom变量带有from和to文件的路径。

2 个答案:

答案 0 :(得分:1)

更改代码:

content = content.Replace("111111111"+Eviroment.NewLine, "");

答案 1 :(得分:0)

我会使用正则表达式,因为你可能在线的末端和你没有看到的线刹之间有空格。这将替换字符串,以及最后一行和新行之间的所有空格。

Regex rgx = new Regex(@"111111111\s*\n");
content = rgx.Replace(content, "");

希望它有所帮助。