fork download
  1. import Data.List
  2.  
  3. dq = '\"'
  4. takeQuoted3 str = let
  5. strs = unfoldr ( Just . fmap tail . span ( /= dq ) ) str
  6. is = findIndices ( == dq ) str
  7. tis = [ 1, 3 .. ( length is - 1 ) ]
  8. in map ( strs !! ) tis
  9.  
  10. sample1 = "abc\"def\"ghi\"jk\nl\"mno\"pqr\"stu\""
  11.  
  12. main = mapM_ putStrLn $ takeQuoted3 sample1
Success #stdin #stdout 0s 4940KB
stdin
Standard input is empty
stdout
def
jk
l
pqr