我有以下示例字符串:
"email=bob@example.com&user_id=13&last_seen=January 14, 2013"
而我需要的是转换为哈希:
{ :email=>bob@example.com, :user_id=>13, :last_seen => 'January 14, 2013' }
我该怎么做?键和值可以是任何东西(它们不会总是 email
和 user_id
)并且可能有几十个。
最佳答案
使用 CGI您已经免费获得的图书馆:
require 'cgi'
parsed = CGI.parse("email=bob@example.com&user_id=13&last_seen=January 14, 2013")
# => {"email"=>["bob@example.com"], "user_id"=>["13"], "last_seen"=>["January 14, 2013"]}
或者如果您使用的是 rack :
require 'rack/utils'
parsed = Rack::Utils.parse_query("email=bob@example.com&user_id=13&last_seen=January 14, 2013")
# => {"email"=>"bob@example.com", "user_id"=>"13", "last_seen"=>"January 14, 2013"}
关于ruby - 将字符串拆分为哈希?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16695684/