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