我正在尝试在 Haskell 中创建一个函数来拆分某个字符串char
和某个数字的列表。
为此, splitAt 函数正是我需要的数字,但我不能用这个函数给出一个字符。
例如
splitAt 5 [1,2,3,4,5,6,7,8,9,10]
给
([1,2,3,4,5],[6,7,8,9,10])
这正是我在元组左侧的 5 所需要的。但现在我想用一个char
和一个字符串来做到这一点。但splitAt
只需要 andint
用于第二个参数。我想
splitAt 'c' "abcde"
导致
("abc", "de")
我在寻找方向的东西
splitAt (findIndex 'c' "abcde") "abcde"
但是该函数findIndex
返回某种类型的东西Maybe Int
并且splitAt
需要一个Int
. 然后我尝试了以下
splitAt (head (findIndices (== 'c') "abcde")) "abcde"
这是一个可能的解决方案,但它返回以下内容
("ab","cde")
c 在元组的错误一侧。您可以添加succ
到 c,但如果 char 是 Z,结果会是什么。
有没有简单的修改方法
splitAt (findIndex 'c' "abcde") "abcde"
工作?