Split a character string based on change of character: Difference between revisions
Split a character string based on change of character (view source)
Revision as of 18:07, 7 March 2022
, 2 years ago→{{header|Haskell}}: Added a variant expressed in terms of `span`
(→{{header|Haskell}}: Added a foldr variant) |
(→{{header|Haskell}}: Added a variant expressed in terms of `span`) |
||
Line 1,245:
main =
putStrLn $ intercalate ", " $ charGroups "gHHH5YY++///\\"</lang>
<pre>g, HHH, 5, YY, ++, ///, \</pre>
or in terms of '''span''':
<lang haskell>import Data.List (intercalate)
charGroups :: String -> [String]
charGroups [] = []
charGroups (c : cs) = (c : xs) : charGroups ys
where
(xs, ys) = span (c ==) cs
main :: IO ()
main =
putStrLn $ intercalate ", " $ charGroups "gHHH5YY++///\\"</lang>
{{Out}}
<pre>g, HHH, 5, YY, ++, ///, \</pre>
|