How to remove empty lines from a formatted string?

You could try String.Replace("\n\n", "\n");


If you also want to remove lines that only contain whitespace, use

resultString = Regex.Replace(subjectString, @"^\s+$[\r\n]*", string.Empty, RegexOptions.Multiline);

^\s+$ will remove everything from the first blank line to the last (in a contiguous block of empty lines), including lines that only contain tabs or spaces.

[\r\n]* will then remove the last CRLF (or just LF which is important because the .NET regex engine matches the $ between a \r and a \n, funnily enough).


Tim Pietzcker - it is not working for me. I have to change a little bit, but thanks!

Ehhh C# Regex.. I had to change it again, but this it working well:

private string RemoveEmptyLines(string lines)
{
  return Regex.Replace(lines, @"^\s*$\n|\r", string.Empty, RegexOptions.Multiline).TrimEnd();
}

Example: http://regex101.com/r/vE5mP1/2