Entrada: "Some text \n\n\nSome text"
Salida: "Some text \n\nSome text"
Puede usar gsub para reemplazar 3 o más \n 's con \n\n :
str = "Some text \n\n\nSome text" str.gsub(/\n{3,}/, "\n\n") #=> "Some text \n\nSome text" o puede usar una búsqueda posterior positiva para hacer coincidir 1 o más \n que están precedidos por \n\n y eliminar el exceso de \n :
str.gsub(/(?<=\n\n)\n+/, '') #=> "Some text \n\nSome text"my_string = 'Some text \n\n\n\n\nSome text'; while my_string.count('\n') > 2 my_string = my_string.reverse.sub('\n', '').reverse; end puts my_string;