【发布时间】:2010-11-26 18:24:10
【问题描述】:
我知道我已经有 Haskell Data.ByteString.Lazy 函数将 CSV 拆分为单个字符,例如:
split :: Word8 -> ByteString -> [ByteString]
但我想在多字符的 ByteString 上进行拆分(例如在 String 而不是 Char 上拆分):
split :: ByteString -> ByteString -> [ByteString]
我在需要解析的类似 csv 的文本文件中有多个字符分隔符,并且各个字符本身出现在某些字段中,因此仅选择一个分隔符并丢弃其他分隔符会污染数据导入。
我对如何做到这一点有一些想法,但它们似乎有点老套(例如,取三个 Word8,测试它们是否是分隔符组合,如果是,则开始一个新字段,进一步递归),我想象一下,无论如何我都会重新发明一个轮子。有没有办法在不从头开始重建功能的情况下做到这一点?
【问题讨论】:
标签: string text haskell csv bytestring