Ruby从字符串中删除空行

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

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

删除空行:

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

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

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

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

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

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

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

 str.squeeze("\n") 

用一个替换多个换行符:

 fixedstr = str.gsub(/\n\n+/, "\n") 

要么

 str.gsub!(/\n\n+/, "\n") 

您可以尝试用一个替换所有出现的2个或更多换行符:

 my_string.gsub(/\n{2,}/, '\n') 

本来

 some_string = some_string.gsub(/\n/,'') 

更新

 some_string = some_string.gsub(/^$\n/,'')