gpt4 book ai didi

parsing - 如何使用 Parsec 通过特定字符串分隔字符串

转载 作者:行者123 更新时间:2023-12-02 09:32:19 25 4
gpt4 key购买 nike

我正在学习秒差距,刚刚遇到以下情况。我想通过特定的StringString分隔成[String];例如,我得到 "abcSEPdef ,分隔符是 "SEP",所以,解析后,我应该得到一个 ["abc","def"]

我相信解析器应该看起来像sepBy a_parser (string "SEP");但是,我不知道 a_parser 应该是什么样子。

最佳答案

使用 manyTill 几次就可以了:

uptoSEP = manyTill anyChar (eof <|> (string "SEP" >> return ()))

splitSEP = manyTill uptoSEP eof

例如:

ghci> parseTest splitSEP "abcSEPdefSEPxyz"
["abc","def","xyz"]

您需要启用 {-# LANGUAGE NoMonomorphismRestriction #-} 编译指示。

关于parsing - 如何使用 Parsec 通过特定字符串分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31667034/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com