Ruby从字符串中删除空行

Her*_*son 10 ruby string

如何从字符串中删除空行?我试过some_string = some_string.gsub(/ ^ $ /,"");

还有更多,但没有任何作用.

Pet*_*ter 23

删除空行:

str.gsub /^$\n/, ''
Run Code Online (Sandbox Code Playgroud)

注意:与其他一些解决方案不同,这个实际上删除了空白行而不是换行符:)

>> a = "a\n\nb\n"
=> "a\n\nb\n"
>> a.gsub /^$\n/, ''
=> "a\nb\n"
Run Code Online (Sandbox Code Playgroud)

说明:匹配行的开头^和结尾$,其间没有任何内容,后跟换行符.

另类,更明确(虽然不那么优雅)的解决方案:

str.each_line.reject{|x| x.strip == ""}.join
Run Code Online (Sandbox Code Playgroud)


ste*_*lag 11

挤压(或挤压!)就是这样 - 没有正则表达式.

str.squeeze("\n")
Run Code Online (Sandbox Code Playgroud)