如何从字符串中删除空行? 我试过了 some_string = some_string.gsub(/ ^ $ /,“”);
等等,但没有任何作用。
答案 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/,'')