【发布时间】:2017-03-24 18:15:57
【问题描述】:
我最近开始学习haskell,遇到了这个我似乎无法克服的问题。
我的输入是一个字符串列表,每个字符串包含 3 个字符。我想要做的是在某个点拆分列表,并让输出成为该点之前的列表。
例子:
Main> listsplitter ["AAA", "BBB", "CCC", "STP", "DDD"]
Main> ["AAA", "BBB", "CCC"]
Main> listsplitter ["AAA", "STP", "BBB", "CCC", "DDD"]
Main> ["AAA"]
在这种情况下,STP 是停止输出字符串的标识字符串。
如果可以以类似的方式拆分字符串,或者甚至更简单,那也会很有用。由于这个字符串列表更进一步,我正在处理一个字符串。像这样:
Main> stringsplitter "AAABBBCCCSTPDDD
Main> "AAABBBCCC"
Main> stringsplitter "AAASTPBBBCCCDDD"
Main> "AAA"
我还应该提一下,我想实现这个不导入数据模块。
感谢您的宝贵时间!
【问题讨论】:
-
除非这恰好是一个要求您明确编写递归算法的练习,否则您正在寻找
takeWhile。 -
啊!谢谢!这正是我想要的。不敢相信我自己没有找到。哦,好吧。
-
查看 hoogle 和此处提到的其他内容:stackoverflow.com/tags/haskell/info
标签: string list haskell indexing split