|
1
1
使用此伪代码
例如这行:
|
|
|
2
1
我发布了一个答案,因为我觉得这些答案真的不符合原始问题中发布的要求。基本上,有多个文本块具有相同的起始行,如下所示:
我最终为这行创建了一个正则表达式:
现在,我需要遍历每个文本块,直到没有剩余的文本为止。由于这些预测通常在咨询结束时,我这样做了:
这似乎奏效了。如果其他人对如何重构这个有任何想法,或者使用另一种方法做得更好,请随时添加另一个答案或评论,我会更改答案!感谢所有发帖的人;它真的很感激。 |
|
|
3
0
如果你想保持通用性,你可以使用STDIN,例如
并通过以下方式读取每一行
|
|
|
4
0
为此构建一个正确的递归语法应该相当容易,例如:
有了这样的语法,你可以(手工)编写一个递归下降解析器,这应该很简单。这样做的好处是,您的生产规则是上下文无关的,因此您应该能够相当容易地处理微小的格式转换或新型数据文件。 |
|
|
5
0
快速浏览一下你链接的那些文件,即使格式大不相同,文件之间的信息“块”似乎也是相同的——相同类型的信息?
这感觉是一个非常通用的答案,但如果我要尝试这样做,我需要知道信息可能出现的所有格式,然后才能提出一个好的解决方案。可能的话,只使用一大堆String#scan调用将是最好的。 :) 祝你好运 |