[Haskell-cafe] split string into n parts
jim at sdf-eu.org
Mon Oct 23 15:29:07 EDT 2006
I want to split a string into 5 parts of equal length, with the last fifth
padded if necessary, but can't get it right - here's what I've got -
> fifths :: String -> String
> fifths s = fifths' "" 0 s
> where l = (length s) `div` 5
> fifths' xs c  = xs ++ (replicate (l-c) 'X')
> fifths' xs c (y:ys) = if c == l
> then fifths' (xs++[' ',y]) 0
> else fifths' (xs++[y]) (c+1)
which, apart from surely being uglier than need be, doesn't work:
*Main> fifths "IDOLIKETOBEBESIDETHESEASIDE"
"IDOLI KETOBE BESIDE THESEA SIDEXX"
*Main> fifths "12345"
"1 23 45"
Any thoughts? Thanks! This isn't homework BTW, I'm having a go at the ruby
quiz puzzles in haskell, which seems to be a nice way to learn.
View this message in context: http://www.nabble.com/split-string-into-n-parts-tf2496941.html#a6960346
Sent from the Haskell - Haskell-Cafe mailing list archive at Nabble.com.
More information about the Haskell-Cafe