我得到一个具有以下重复模式的字符串:标签(一个单词)、冒号、一些文本(几乎任何东西,甚至是空的)。例如:
"FileSize: 597262388 Duration_String: 1h 34mn Duration_string3: 01:34:12.564 Source_Duration: Width: 712 Height: 360"
我正在尝试根据标签和以下文本创建一个二维数组:
[["FileSize", "597262388"], ["Duration_String", "1h 34mn"], ["Duration_string3", "01:34:12.564"], ["Source_Duration", ""], ["Width", "712"], ["Height", "360"]]
我试过这段代码:
medinfo = "FileSize: 597262388 Duration_String: 1h 34mn Duration_string3: 01:34:12.564 Source_Duration: Width: 712 Height: 360"
mi = medinfo.split(':')
s = []
mi.each do |x|
x2 = x.split(/\W+/).last
x1 = x.gsub(x2, '')
s << x1
s << x2
end
mi_pairs = (s[1..-1].each_slice 2).to_a
但它并不适用于所有情况,我觉得必须有一个更简单的 ruby 解决方案。