Align columns

Учитывая текстовый файл многих строк, где поля в строке обозначаются одним символом $ , напишите программу, которая выравнивает каждый столбец полей, гарантируя, что слова в каждом столбце разделены хотя бы одним пробелом. Кроме того, разрешите каждое слово в столбце быть либо оправданным, либо оправданным, либо оправданным по центру в его столбце.

Используйте следующий текст для тестирования своих программ:

 Учитывая $ в $ текста $ файл $ из $ многих $ линий
где $ поля $ в $ а $ линия $
составляют $ очерчены $ на $ «доллар» в размере $ одноместный $ символа $
написать $ в $ программе
что $ совпадет $ каждый $ столбец $ из $ полей
от $ обеспечения $, что $ слова $ в $ каждый $
колонка $ являются $ $ разделены на $ по $ мере $ за $ пространство.
Кроме того, $ позволяют $ за $ каждого $ слова $ в $ A $ столбец $ до $ быть $ либо $ остался $
оправданный, $ права $ оправдано
или $ центр $ оправдана $ в $ его $ колонке.

Обратите внимание, что:

Примеры строк ввода текста могут или не могут иметь завершающие символы доллара. Все столбцы должны иметь одинаковое выравнивание. Последовательные символы пробела, создаваемые рядом с концом строк, несущественны для целей задачи. Текст вывода будет отображаться моноширинным шрифтом в текстовом редакторе или базовом терминале. Минимальное пространство между столбцами должно быть вычислено из текста, а не жестко закодировано. Не требуется добавлять разделительные символы между столбцами или вокруг них.

Use the following text to test your programs:

Given$a$text$file$of$many$lines
where$fields$within$a$line$
are$delineated$by$a$single$'dollar'$character
write$a$program
that$aligns$each$column$of$fields
by$ensuring$that$words$in$each$
column$are$separated$by$at$least$one$space.
Further,$allow$for$each$word$in$a$column$to$be$either$left$
justified,$right$justified
or$center$justified$within$its$column.

Note that:

  • The example input texts lines may, or may not, have trailing dollar characters.
  • All columns should share the same alignment.
  • Consecutive space characters produced adjacent to the end of lines are insignificant for the purposes of the task.
  • Output text will be viewed in a mono-spaced font on a plain text editor or basic terminal.
  • The minimum space between columns should be computed from the text and not hard-coded.
  • It is not a requirement to add separating characters between or around columns.