我想在Haskell中将某个字符串拆分为某个字符和某个列表中的某个数字。用字符或int拆分字符串/列表
为了做到这一点,splitAt函数正是我需要的数字,但我不能给这个函数的字符。
E.g.
splitAt 5 [1,2,3,4,5,6,7,8,9,10]
给
([1,2,3,4,5],[6,7,8,9,10])
是execlty我在元组的左侧与所需的5。 但现在我想用char和一个字符串来做到这一点。但splitAt只接受和int为第二个参数。我想
splitAt 'c' "abcde"
导致
("abc", "de")
我找的东西在
splitAt (findIndex 'c' "abcde") "abcde"
方向,但findIndex返回类型的东西的功能也许INT和splitAt需要一个诠释。然后我尝试以下
splitAt (head (findIndices (== 'c') "abcde")) "abcde"
这是一个可能的解决方案,但它的元组的错误一边的C返回以下
("ab","cde")
。您可以添加SUCC到c但结果是什么,如果炭是Z ..
有一种简单的方法来修改,使
splitAt (findIndex 'c' "abcde") "abcde"
工作?
谢谢!
如果您使用['break'](http://hackage.haskell.org/packages/archive/base/latest/doc/html/Prelude.html#v:break)'::(a - > Bool) - > [a] - >([a],[a])'而不是'splitAt',则不需要'findIndex'。 –
@SebastianPaaskeTørholm,但你在右边而不是在左边得到'c'。 – AndrewC