首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何拆分这个字符串?

如何拆分这个字符串?
EN

Stack Overflow用户
提问于 2012-10-08 02:06:07
回答 2查看 151关注 0票数 4

我有这个字符串:

代码语言:javascript
复制
a = "hy what are you doing [Zoho Reports] will you like? [Zoho Books] reply"

我想把它分开,结果是这样的:

代码语言:javascript
复制
hy
what
are
you
doing
[Zoho Reports]
will
you
like?
[Zoho Books]
reply

我如何才能循环该字符串来实现这些结果?我目前正在这样做:

代码语言:javascript
复制
a.split("")

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-08 02:26:30

不是很漂亮,但可以完成工作:

代码语言:javascript
复制
a.scan(/(\S+)|(\[.+?\])/).map(&:compact).flatten

后来我注意到,我使用的组根本不是必需的,没有它们,解决方案可以简化为:

代码语言:javascript
复制
a.scan(/\S+|\[.+?\]/)
票数 4
EN

Stack Overflow用户

发布于 2012-10-08 02:35:06

在这种情况下,您应该使用scan而不是split,因为它更容易表征您想要的东西,而不是您想要丢弃的东西。

与Bozhidar的答案类似,但您不需要复杂化。

代码语言:javascript
复制
a.scan(/\[.*?\]|\S+/)
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12771387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档