簡體   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