我有这个绳子:

a = "hy what are you doing [Zoho Reports] will you like? [Zoho Books] reply"

我想把它分开,结果是这样的:
hy
what
are
you
doing
[Zoho Reports]
will
you
like?
[Zoho Books]
reply

如何循环该字符串以获得这些结果?我现在正在做:
a.split("")

但它把"[Zoho Reports]"分成"[Zoho""Reports]",这是我不想要的。

最佳答案

不是很漂亮,但完成了任务:

a.scan(/(\S+)|(\[.+?\])/).map(&:compact).flatten

后来我注意到我使用的组根本不需要,没有它们,解决方案可以简化为:
a.scan(/\S+|\[.+?\]/)

10-05 23:55