Off the top of my head:

separate :: String -> [String]
separate [] = []
separate s =
 case break (',' ==) s of
   (s,[]) -> [s]
   (s,',':s') -> s : separate s'
   _ -> error "how did we get here?"

There is at least one cunning rewriting with foldl, I think, but I
think this version is clearer.

/g

On 6/12/06, Sara Kenedy <[EMAIL PROTECTED]> wrote:
Hi all,

I want to write a function to separate a string into a list of strings
separated by commas.

Example:
separate :: String -> [String]

separate "Haskell, Haskell, and Haskell" = ["Haskell", "Haskell", "and Haskell"]

If anyone has some ideas, please share with me. Thanks.

S.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe



--
We have lingered in the chambers of the sea     
By sea-girls wreathed with seaweed red and brown
Till human voices wake us, and we drown.
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to