Haskell:单词,单词分隔符

Rne*_*net 8 haskell

有什么办法,我可以提供一个分隔符words,并unwords在Haskell,使其类似分裂和蟒蛇一起?

fuz*_*fuz 11

还请看一下和煦包拆分.它提供了一个Data.List.Split用于所有类型拆分的模块.


gee*_*aur 4

不,但它们实际上分别只是Data.List.break和的应用程序(优化版本) Data.List.intersperse

pythonicSplit      :: String -> Char -> [String]
pythonicSplit "" _ =  []
pythonicSplit s  c =  let (r,rs) = break (== c) s
                       in r : pythonicSplit rs c

pythonicJoin       :: [String] -> Char -> String
pythonicJoin  ss c =  intersperse c ss -- or: flip intersperse
Run Code Online (Sandbox Code Playgroud)

  • 您的“pythonicSplit”不正确。在第一个单词之后,它会生成一个无限的空字符串列表 (2认同)