我想知道是否有人对在Ruby中解析具有固定长度记录的文件有任何建议.该文件有几个部分,每个部分都有一个标题,n个数据元素和一个页脚.例如(这是完全废话 - 但内容大致相似)
1923 000-230SomeHeader 0303030
209231-231992395 MoreData
293894-329899834 SomeData
298342-323423409 OtherData
3 3423942Footer record 9832422
Run Code Online (Sandbox Code Playgroud)
在此示例中,页眉,页脚和数据行均以特定数字(1,2和3)开头.
我查看了http://rubyforge.org/projects/file-formatter/它看起来不错 - 除了文档很轻,我看不到如何拥有n个数据元素.
干杯,丹
有很多方法可以做到这一点.该unpack方法string可用于定义字段模式,如下所示: -
"209231-231992395 MoreData".unpack('aa5A1A9a4Z*')
Run Code Online (Sandbox Code Playgroud)
这将返回一个数组,如下所示: -
["2", "09231", "-", "231992395", " ", "MoreData"]
Run Code Online (Sandbox Code Playgroud)
有关打包/解包格式的说明,请参阅文档.