[Haskell-cafe] Splitting a string into chunks
Robert Dockins
robdockins at fastmail.fm
Fri Jan 13 16:50:11 EST 2006
On Jan 13, 2006, at 4:35 PM, Jon Fairbairn wrote:
> On 2006-01-13 at 13:32PST Jared Updike wrote:
>> That works except it loses single newline characters.
>>
>> let s = "1234\n5678\n\nabcdefghijklmnopq\n\n,,.,.,."
>> Prelude> blocks s
>> ["12345678","abcdefghijklmnopq",",,.,.,."]
>
> Also the argument to groupBy ought to be some sort of
> equivalence relation.
Humm, still not reflexive. You need xor.
> blocks = map unlines
> . filter (all $ not . null)
> . groupBy (\a b -> not (null b|| null a))
> . lines
>
> ... but that suffers from the somewhat questionable
> properties of lines and unlines.
>
> -- Jón Fairbairn Jon.Fairbairn at
> cl.cam.ac.uk
>
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
Rob Dockins
Speak softly and drive a Sherman tank.
Laugh hard; it's a long way to the bank.
-- TMBG
More information about the Haskell-Cafe
mailing list