Разбор текстового файла

У меня есть много текстовых документов, заполненных таблицами sudo, как в примере ниже. Как лучше всего разобрать таблицу на что-то вроде хэша или массива?

Мне написать собственный алгоритм или существуют существующие библиотеки?

PLACE  NO.  NAME                    DIV    RANK  SWIM  TRANS RANK  BIKE   MPH   TRANS RANK   RUN   PACE  TIME    
===== ===== ======================= ===    ====  ====  ===== ==== ======= ===== ===== ====  ====== ===== ======= 
    1     1 Krige Schabort          PCHAL    3   22:40  1:08   25 1:14:15 20.2  2:25    1   26:24  4:24 2:06:49                
    2    12 Kevin Moats             M5559   11   24:41  0:46    1 1:06:01 22.7  0:44    9   42:50  7:09 2:15:00                

person jspooner    schedule 20.09.2011    source источник
comment
Мне кажется, что это плоские файлы с фиксированной шириной. Этот материал существует с тех пор, как были созданы компьютеры. Рекомендации см. здесь: stackoverflow.com/questions/1609807/   -  person Candide    schedule 20.09.2011
comment
Есть ли причина, по которой вы добавили тег ruby к своему вопросу? Если вы хотите получить рубиновый ответ, вы должны указать это в вопросе. У меня были хорошие результаты с ruby ​​на windows, потому что другие варианты означали, что мне нужно было установить что-то вроде Cygwin, а ruby ​​был на месте.   -  person mliebelt    schedule 20.09.2011


Ответы (2)


если формат имеет фиксированную длину и заполнен пробелами внутри, как насчет String#unpack

вы можете увидеть http://ruby-doc.org/core/classes/String.html#M001112 для подробностей

person Jokester    schedule 20.09.2011
comment
Мне нравится идея распаковки, но я не смог найти работающий формат распаковки. - person jspooner; 20.09.2011
comment
@jspooner на самом деле perlpacktut страница Perl дает пример извлечения полей фиксированной ширины из строки, и я не часто использую пакет ruby. хотя они кажутся очень похожими. -Текст - person Jokester; 20.09.2011

Вы можете попробовать slither

person D.Shawley    schedule 20.09.2011