【问题标题】:Text file parsing文本文件解析
【发布时间】:2011-11-20 17:12:09
【问题描述】:

我有许多文本文档,其中充满了 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                

【问题讨论】:

  • 对我来说似乎是固定宽度的平面文件。自从计算机制造以来,这些东西就一直存在。请参阅此处获取建议:stackoverflow.com/questions/1609807/…
  • 您是否有理由将标签ruby 添加到您的问题中?如果你想得到一个红宝石答案,你应该在问题中说明这一点。我在 Windows 上使用 ruby​​ 获得了不错的结果,因为其他选项意味着我必须安装 Cygwin 之类的东西,并且 ruby​​ 已经到位。

标签: ruby parsing awk gawk rgl


【解决方案1】:

你可能想试试slither

【讨论】:

    【解决方案2】:

    如果格式是固定长度并在其中填充空格,那么String#unpack呢

    您可以查看http://ruby-doc.org/core/classes/String.html#M001112了解详情

    【讨论】:

    • 我喜欢 unpack 的想法,但我无法找到一种可行的解包格式。
    • @jspooner 实际上 perl 的 perlpacktut 页面给出了一个从字符串中提取固定宽度字段的示例,我并没有经常使用 ruby​​ 的包。不过他们似乎很相似.. perldoc.perl.org/perlpacktut.html#Packing-Text
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 2012-10-09
    • 2015-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多