Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to remove empty lines from a formatted string

How can I remove empty lines in a string in C#?

I am generating some text files in C# (Windows Forms) and for some reason there are some empty lines. How can I remove them after the string is generated (using StringBuilder and TextWrite).

Example text file:

THIS IS A LINE    THIS IS ANOTHER LINE AFTER SOME EMPTY LINES! 
like image 700
Saeid Yazdani Avatar asked Oct 04 '11 12:10

Saeid Yazdani


1 Answers

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).

like image 128
Tim Pietzcker Avatar answered Sep 21 '22 19:09

Tim Pietzcker