Removing all whitespace lines from a multi-line string efficiently

前端 未结 19 2162
名媛妹妹
名媛妹妹 2020-12-29 04:25

In C# what\'s the best way to remove blank lines i.e., lines that contain only whitespace from a string? I\'m happy to use a Regex if that\'s the best solution.

EDIT

19条回答
  •  梦谈多话
    2020-12-29 04:57

    s = Regex.Replace(s, @"^[^\n\S]*\n", "");
    

    [^\n\S] matches any character that's not a linefeed or a non-whitespace character--so, any whitespace character except \n. But most likely the only characters you have to worry about are space, tab and carriage return, so this should work too:

    s = Regex.Replace(s, @"^[ \t\r]*\n", "");
    

    And if you want it to catch the last line, without a final linefeed:

    s = Regex.Replace(s, @"^[ \t\r]*\n?", "");
    

提交回复
热议问题