ruby - 将字符串拆分为哈希?

标签 ruby string hash

我有以下示例字符串:

"email=bob@example.com&user_id=13&last_seen=January 14, 2013"

而我需要的是转换为哈希:

{ :email=>bob@example.com, :user_id=>13, :last_seen => 'January 14, 2013' }

我该怎么做?键和值可以是任何东西(它们不会总是 emailuser_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/

相关文章:

ruby-on-rails - Ruby 哈希组合

c++ - Unordered_set 插入最坏情况

git - 如何通过哈希验证 Git 安装程序?

ruby-on-rails - 使用嵌套在模块中的关注点

ruby-on-rails - 如何在 Rails 中通过继承获得多态关系?

python - Pandas :每个日期的频率以列表的形式按列分组

C++ 将未终止的 char* 连接到 std::string

ruby TCP 服务器 : Accepting a known socket

ruby - 向 'self' 发送消息导致调用初始化方法?

java - 将 JSONObject 格式化为 JSONArray