Jak usunąć puste linie z ciągu? Próbowałem some_string = some_string.gsub (/^$ /, "");Ruby usuń puste linie ze stringów
i wiele więcej, ale nic nie działa.
Jak usunąć puste linie z ciągu? Próbowałem some_string = some_string.gsub (/^$ /, "");Ruby usuń puste linie ze stringów
i wiele więcej, ale nic nie działa.
usuwanie pustych linii:
str.gsub /^$\n/, ''
Uwaga: w przeciwieństwie do niektórych innych rozwiązań, to faktycznie usuwa puste linie, a nie linie podziału :)
>> a = "a\n\nb\n"
=> "a\n\nb\n"
>> a.gsub /^$\n/, ''
=> "a\nb\n"
Objaśnienie: dopasowuje początek ^
i kończy $
linii z niczym pomiędzy, po której następuje podział wiersza. (! Lub wycisnąć):
alternatywna, bardziej wyraźny (choć mniej eleganckie) rozwiązanie
str.each_line.reject{|x| x.strip == ""}.join
Pierwotnie
some_string = some_string.gsub(/\n/,'')
Updated
some_string = some_string.gsub(/^$\n/,'')
nope, to usuwa wszystkie nowe linie z ciągu –
Wymień kilka nowych linii z jednym z nich:
fixedstr = str.gsub(/\n\n+/, "\n")
lub
str.gsub!(/\n\n+/, "\n")
Można spróbować zastąpić wszystkie wystąpienia 2 lub więcej linii zrywa z zaledwie jednym:
my_string.gsub(/\n{2,}/, '\n')
wycisnąć właśnie to robi - bez regex.
str.squeeze("\n")
możliwe duplikat [Ruby: Zgrabna Nowe puste wiersze] (http://stackoverflow.com/questions/1040390/ruby-trim-new-blank-lines) – bragboy
to nie jest duplikatem. ten tytuł jest * bardzo * mylący –