如何将以下转换为数组或哈希?

Ada*_*Lee 0 ruby

a=b&c=d&e=f&g=h
Run Code Online (Sandbox Code Playgroud)

如何将其提取到 [a,b,c,d,e,f,g,h]

我知道我可以使用split,但看起来它只能使用一个分隔符.

或者如何转换成哈希?

Mir*_*cea 5

拆分FTW(即最简单,最简单的方法):

irb(main):001:0> s = "a=b&c=d&e=f&g=h"
=> "a=b&c=d&e=f&g=h"
irb(main):002:0> s.split(/[=&]/)
=> ["a", "b", "c", "d", "e", "f", "g", "h"]
Run Code Online (Sandbox Code Playgroud)

其他有趣的滥用Ruby的方法:

irb(main):001:0> s = "a=b&c=d&e=f&g=h"
=> "a=b&c=d&e=f&g=h"
irb(main):002:0> s.split('=').collect{|x| x.split('&')}.flatten
=> ["a", "b", "c", "d", "e", "f", "g", "h"]
irb(main):003:0> ['=','&'].inject(s) {|t, n| t.split(n).join()}.split('')
=> ["a", "b", "c", "d", "e", "f", "g", "h"]
Run Code Online (Sandbox Code Playgroud)

还可以查看Cary和GamesBrainiac的答案以获得更多选择:)