¿Cómo elimino las líneas vacías de una cadena? He intentado some_string = some_string.gsub (/^$ /, "");Ruby eliminar líneas vacías de la cadena
y mucho más, pero nada funciona.
¿Cómo elimino las líneas vacías de una cadena? He intentado some_string = some_string.gsub (/^$ /, "");Ruby eliminar líneas vacías de la cadena
y mucho más, pero nada funciona.
quitar líneas en blanco:
str.gsub /^$\n/, ''
Nota: a diferencia de las otras soluciones, este realmente elimina las líneas en blanco y no saltos de línea :)
>> a = "a\n\nb\n"
=> "a\n\nb\n"
>> a.gsub /^$\n/, ''
=> "a\nb\n"
Explicación: coincide con el inicio ^
y el final $
de una línea sin nada intermedio, seguido de un salto de línea. (! O apretar):
alternativa, más explícito (aunque menos elegante) solución
str.each_line.reject{|x| x.strip == ""}.join
Originalmente
some_string = some_string.gsub(/\n/,'')
Actualizado
some_string = some_string.gsub(/^$\n/,'')
no, esto elimina todas las nuevas líneas de la cadena –
reemplazar múltiples saltos de línea con una sola:
fixedstr = str.gsub(/\n\n+/, "\n")
o
str.gsub!(/\n\n+/, "\n")
Se podría tratar de sustituir todas las apariciones de 2 o más saltos de línea con sólo uno:
my_string.gsub(/\n{2,}/, '\n')
apretón hace exactamente eso - sin una expresión regular.
str.squeeze("\n")
posible duplicado de [Ruby: Recorte nuevas líneas en blanco] (http://stackoverflow.com/questions/1040390/ruby-trim-new-blank-lines) – bragboy
no es un duplicado. ese título es * muy * engañoso –