Código: Seleccionar todo
{-
Función: Split
Autor: Strup
Descripcion: dividir una cadena a partir del delimitador para retornarla en una lista de cadenas
Data: 26/02/2014 01:58
-}
split :: [Char] -> Char -> [[Char]]
split "" _ = []
split xs y =[take (pos xs y) xs]++split (drop ((pos xs y)+1) xs) y
pos "" _ = 0
pos (x:xs) d
| x /= d = 1+pos xs d | otherwise = pos "" d
Código: Seleccionar todo
GHCi, version 7.6.3: http://www.haskell.org/ghc/ :? for help
Loading package ghc-prim ... linking ... done.
Loading package integer-gmp ... linking ... done.
Loading package base ... linking ... done.
[1 of 1] Compiling Main ( C:\Documents and Settings\Strup\Mis docume
ntos\split.hs, interpreted )
Ok, modules loaded: Main.
*Main> split "hola-puta-zorra" '-'
["hola","puta","zorra"]
*Main>