0
我想用Haskell解析包含多個數據序列(列數相同,內容相同......)的文件。 我的數據序列將由關鍵字前後分隔。用Parsec解析複雜文件
BEGIN
1 882
2 809
3 435
4 197
5 229
6 425
...
END
BEGIN
1 235 623 684
2 871 699 557
3 918 686 49
4 53 564 906
5 246 344 501
6 929 138 474
...
END
我的問題是,經過與秒差距多次試驗,我的印象中,秒差距是相當作出解析文件逐行而不是整個文件。
是秒差距做什麼,我想還是應該考慮的其他工具,如快樂或亞歷的正確方法?
是否有網站(或其他資源)提供解析複雜文本文件的示例Parsec?
注:我給的例子是一個很簡單之一。有更多關鍵字和組合的文件在我的文件中會更棘手。
對於您是否逐行解析,Parsec完全不可知。您的數據格式非常容易在Parsec的範圍之內,Parsec是一個爲編程語言設計的工業級解析器(語法比您的示例更復雜)。parseBlock = between(string「BEGIN \ n」 )(字符串「END \ n」)$ sepBy(char'\ n')parseSingleLine'(其中'parseSingleLine'解析一行數據)將工作。 –
Parsec沒有任何關於「逐行」的內容。它應該很容易處理這個問題。 – MathematicalOrchid
@BenjaminHodgson我認爲你的意思是'sepBy parseSingleLine(char'\ n')'。 – Jubobs