如何将一行拆分为一组字符串输入
array = ["123 abcd ki98 1090:09 12/1/2098", "678 njiu ji87 1087:90 87/56/90"]
期望输出
array =[["123", "abcd", "ki98", "1090:09", "12/1/2098"],
["678", "njiu", "ji87", "1087:90", "87/56/90"]]
我试过
array.each do |line|
array2 << line.split(' ') # doesnt give what I wanted
array2 << line.split(/s+/) # doesnt give me what I wanted
array2 << line.split/s+/ # comes with error
array2 << line.split(/s+/).inspect # This works but is too slow
end
有任何解决此问题的建议吗?刚刚启动ruby。请帮忙。
还有另一个解决方案:
a.flat_map(&:split)
> a.map(&:split).flatten
# => ["123", "abcd", "ki98", "1090:09", "12/1/2098678", "njiu", "ji87", "1087:90", "87/56/90"]
编辑
如果你需要一个阵列
array = ["123 abcd ki98 1090:09 12/1/2098", "678 njiu ji87 1087:90 87/56/90"]
array.map &:split
# => [["123", "abcd", "ki98", "1090:09", "12/1/2098"], ["678", "njiu", "ji87", "1087:90", "87/56/90"]