在Ruby中将字符串转换为多维数组?

时间:2014-05-18 10:47:31

标签: ruby multidimensional-array

真的是新问题,对不起。 我有一个由几个单词组成的字符串,并希望将其转换为数组,其中每个单词都是数组中的子数组。

my_string = "Made up of several words"
my_array = []
my_string.split(/\s/) do |word|
  my_array << word
end

给了我

["Made", "up", "of", "several", "words"]

但我想得到:

[["Made"], ["up"], ["of"], ["several"], ["words"]]

有人知道我怎么能这样做吗?我正在使用do end语法,因为我想要一个代码块,接下来我可以添加一些逻辑,围绕我对字符串中的某些单词进行操作。感谢。

2 个答案:

答案 0 :(得分:5)

下面怎么样:

my_string = "Made up of several words"
my_string.scan(/(\w+)/) 
# => [["Made"], ["up"], ["of"], ["several"], ["words"]]

答案 1 :(得分:3)

这会有用吗?

my_string = "Made up of several words"
my_array = my_string.split(/\s+/).map do |word|
  [word]
end
# => [["Made"], ["up"], ["of"], ["several"], ["words"]]