删除扫描捕获组的单个维度

时间:2013-08-13 12:09:18

标签: ruby regex ruby-1.8.7

我正在努力想出一个很好的方法来做到以下几点。我有一个字符串,例如这个:

foo = "bar = everybody\nbar = say\nbar = hey\nbar = ho"

我正在扫描它:

foo.scan(/^bar = (.*)$/)

返回:

[["everybody"], ["say"], ["hey"], ["ho"]]

我想要的是:

["everybody", "say", "hey", "ho"]

基本上,我要删除数组的单例维度或重新格式化扫描代码。

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

Array#flatten可能有所帮助

foo = "bar = everybody\nbar = say\nbar = hey\nbar = ho"
foo.scan(/^bar = (.*)$/).flatten
#=> ["everybody", "say", "hey", "ho"]