繁体   English   中英

Ruby从字符串中删除空行

[英]Ruby remove empty lines from string

如何从字符串中删除空行? 我试过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/,'')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM