Ruby remove empty lines from string

后端 未结 5 1931
囚心锁ツ
囚心锁ツ 2021-02-03 10:51

How do i remove empty lines from a string? I have tried some_string = some_string.gsub(/^$/, \"\");

and much more, but nothing works.

5条回答
  •  长发绾君心
    2021-02-03 11:16

    Remove blank lines:

    str.gsub /^$\n/, ''
    

    Note: unlike some of the other solutions, this one actually removes blank lines and not line breaks :)

    >> a = "a\n\nb\n"
    => "a\n\nb\n"
    >> a.gsub /^$\n/, ''
    => "a\nb\n"
    

    Explanation: matches the start ^ and end $ of a line with nothing in between, followed by a line break.

    Alternative, more explicit (though less elegant) solution:

    str.each_line.reject{|x| x.strip == ""}.join
    

提交回复
热议问题