两个","拆分字符串,将每个字符串拆分为一个hashmap的键/值对

时间:2015-06-11 20:54:10

标签: ruby

我有两个字符串:

str1 = "k1,k2,k3,k4";
str2 = "v1,v2,v3,v4";

在Ruby中,分割每个内容的最佳方法是什么,并形成如下的散列图:

k1 => v1;
k2 => v2;
k3 => v3;
k4 => v4;

1 个答案:

答案 0 :(得分:4)

假设两个数组具有相同数量的元素,您可以使用zipHash[]的组合:

str1 = "k1,k2,k3,k4"
str2 = "v1,v2,v3,v4"

Hash[str1.split(',').zip(str2.split(','))]
# => {"k1"=>"v1", "k2"=>"v2", "k3"=>"v3", "k4"=>"v4"}

请注意;仅用于在一行中组合多个语句,否则不应使用。

如果您想要格式化它:

hash = Hash[str1.split(',').zip(str2.split(','))]

hash.each do |key, value|
  puts '%s => %s;' % [ key, value ]
end