我正在尝试在Haskell中编写一个通过分隔符拆分字符串的程序。
我已经研究了其他用户提供的不同示例。下面是一段示例代码。
split :: String -> [String]
split [] = [""]
split (c:cs)
| c == ',' = "" : rest
| otherwise = (c : head rest) : tail rest
where
rest = split cs
样例输入:"1,2,3"
。
样例输出:["1","2","3"]
。
我一直在尝试修改代码,以便输出的结果类似于["1", "," , "2", "," , "3"]
,其中包括分隔符在内,但是我一直无法成功。
例如,我更改了以下行:
| c == ',' = "" : rest
into:
| c == ',' = "," : rest
但结果变成了["1,","2,","3"]
。
问题出在哪里,我哪里理解有误了吗?
split
如何工作吗? - Willem Van Onsemsplit = map pure
来实现这个功能。 - Redu