gpt4 book ai didi

string - 在 ByteString 上拆分 ByteString(而不是 Word8 或 Char)

转载 作者:行者123 更新时间:2023-12-04 03:19:50 31 4
gpt4 key购买 nike

我知道我已经有了 Haskell Data.ByteString.Lazy 函数来拆分单个字符的 CSV,例如:

split :: Word8 -> ByteString -> [ByteString]

但我想拆分一个多字符的 ByteString(就像拆分一个 String 而不是一个 Char):

split :: ByteString -> ByteString -> [ByteString]

我在需要解析的类似 csv 的文本文件中有多个字符分隔符,并且各个字符本身出现在某些字段中,因此仅选择一个分隔符并丢弃其他字符会污染数据导入。

我对如何做到这一点有一些想法,但它们看起来有点老套(例如,取三个 Word8,测试它们是否是分隔符组合,如果是,则开始一个新字段,进一步递归),我想象一下我无论如何都会重新发明一个轮子。有没有一种方法可以做到这一点而无需从头开始重建功能?

最佳答案

Bytestrings 文档 breakSubstring包含执行您要求的功能:

tokenise x y = h : if null t then [] else tokenise x (drop (length x) t)
where (h,t) = breakSubstring x y

关于string - 在 ByteString 上拆分 ByteString(而不是 Word8 或 Char),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1398322/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com