[Haskell-cafe] How to split this string.

Jon Fairbairn jon.fairbairn at cl.cam.ac.uk
Mon Jan 2 12:12:49 CET 2012

max <mk at mtw.ru> writes:

> I want to write a function whose behavior is as follows:
> foo "string1\nstring2\r\nstring3\nstring4" = ["string1",
> "string2\r\nstring3", "string4"]
> Note the sequence "\r\n", which is ignored. How can I do this?

cabal install split

then do something like

   import Data.List (groupBy)
   import Data.List.Split (splitOn)

   rn '\r' '\n' = True
   rn _ _ = False

   required_function = fmap concat . splitOn ["\n"] . groupBy rn

(though that might be an abuse of groupBy)

Jón Fairbairn                                 Jon.Fairbairn at cl.cam.ac.uk

More information about the Haskell-Cafe mailing list