gpt4 book ai didi

arrays - 如何在 Ruby 中的每第 n 个字符后有效地拆分一个很长(数百万个字符)的字符串?

转载 作者:太空宇宙 更新时间:2023-11-03 17:06:17 24 4
gpt4 key购买 nike

假设我有一个字符串

string = "hellohellohey"

我想每隔 2 个字符拆分一次,所以它看起来像这样

string = ["he","ll","oh","el","lo","he","y"]

我尝试使用 scan(/.{2}/) 方法,但如果数组项不能除以 2,它就不起作用。

编辑:有必要通知您,2 个字符的东西只是一个例子。我正在做一些大事,所以我将每 8 百万 个字符拆分一次。因此,将其拆分为单个字符并使用 each_slice 在这里不起作用。它只会卡住我的笔记本电脑。

最佳答案

处理(非常)大的字符串时,将它们包装在 StringIO 中会很有用。 .它提供了对字符串的类似文件的高效访问。

例如,您可以通过 StringIO#each 读取每 n 个字符:

string = "hellohellohey"
string_io = StringIO.new(string)

string_io.each(5) do |substring|
p substring
end

输出:

"hello"
"hello"
"hey"

关于arrays - 如何在 Ruby 中的每第 n 个字符后有效地拆分一个很长(数百万个字符)的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55816634/

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