如何从此字符串中删除换行符?

时间:2016-01-10 01:46:12

标签: c# newline

我花了很多很长时间寻找答案。如果你查找删除这个网站上的新行,它会给出看似可行的答案,但我无法让它们起作用。

string TextFileBlock = File.ReadAllText("TextFile.txt");

 char newlinechar = '\n' ;

 TextFileBlock = TextFileBlock.Replace(" ", String.Empty); //works for the spaces

 TextFileBlock = TextFileBlock.Replace(newlinechar.ToString(), String.Empty);

///Does not get rid of the newlines. The enter key.

      // TextFileBlock = TextFileBlock.Replace("\n", String.Empty);// not works
      //TextFileBlock.Replace(Environment.NewLine, string.Empty);//not works

C#问题

2 个答案:

答案 0 :(得分:1)

这应该照顾它:

public static string RemoveNewLines(this string input)
{
    return input.Replace("\r\n", string.Empty)
            .Replace("\n", string.Empty)
            .Replace("\r", string.Empty);
}

答案 1 :(得分:0)

假设文件相当小,您可以用以下内容替换整个段:

string[] lines = File.ReadAllLines("TextFile.txt");
string TextFileBlock = String.Concat(lines).Replace(" ", "");

ReadAllLines方法返回一个行数组,其中一行以回车符(\r),换行符(\n)或CRLF({{1} })。数组中的各个元素不包括终止回车符或换行符,因此在连接数组元素时不包含在最终字符串中。