ruby 将定界字符串数组转换为散列

标签 ruby arrays string parsing hash

我有一个数组

["bob:12 elm st", "sally:100 digital ave", "tom:2324 elmhurst st"] 

我需要转换成

{"bob" => "12 elm st", "sally" => "100 digital ave", "tom" => "2324 elmhurst st"}.

我知道我能做到

array.each do |e|
  k = e.split(":").first
  v = e.split(":").last
  hash[k] = v
end

有没有更优雅的方法来做到这一点?

最佳答案

Hash[] 从数组构造哈希。

Hash[array.map {|el| el.split ':'}]

关于ruby 将定界字符串数组转换为散列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23636703/

相关文章:

ruby-on-rails - Rails 3 gmaps4rails(点击 map )

ruby - 在 Ruby 中如何知道 Proc 是不是 lambda

ruby - 如何获取类中的所有自定义方法?

ruby - ruby 中的数组 x 数组矩阵

python - Numpy 数组与自定义类的列表

c# - 使用 LINQ 检查一个字符串的字符是否包含在另一个字符串中

ruby-on-rails - 如何使用 Ruby on Rails 3 检查 HTTP 请求的字段 'Content-Length '?

c++ - 在 C++ 中旋转 PNG 图像

string - 使用 golang 根据位置解析字符串的好方法是什么?

string - 删除动态字符串中的最后一个字符