1.15. Zawijanie wierszy tekstu
Problem
Łańcuch zawierający dużą liczbę białych znaków należy sformatować, dzieląc go na wiersze, tak aby możliwe było jego wyświetlenie w oknie lub wysłanie e-mailem.
Rozwiązanie
Najprostszym sposobem wstawienia do łańcucha znaków nowego wiersza jest użycie wyrażenia regularnego podobnego do poniższego:
def wrap(s, width=78) s.gsub(/(.{1,#{width}})(\s+|\Z)/, "\\1\n") end wrap("Ten tekst jest zbyt krótki, by trzeba go było zawijać.") # => "Ten tekst jest zbyt krótki, by trzeba go było zawijać. \n" puts wrap("Ten tekst zostanie zawinięty.", 15) # Ten tekst # zostanie # zawinięty. puts wrap("Ten tekst zostanie zawinięty.", 20) # Ten tekst zostanie # zawinięty. puts wrap("Być albo nie być – oto jest pytanie!",5) ...
Get Ruby. Receptury now with O’Reilly online learning.
O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.