Ruby从字符串中删除空行

时间:2011-09-07 19:11:19

标签: ruby string

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

等等,但没有任何作用。

5 个答案:

答案 0 :(得分:22)

删除空行:

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

答案 1 :(得分:11)

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

str.squeeze("\n")

答案 2 :(得分:4)

用一个替换多个换行符:

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

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

答案 3 :(得分:3)

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

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

答案 4 :(得分:0)

原来

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

<强>更新

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