我有这样的字符串,
str = "uu@p, xx@m, yy@n, zz@m"Run Code Online (Sandbox Code Playgroud)
我想知道如何将给定的字符串转换为哈希.(即我的实际要求是,有多少个值(在@符号之前)有m,n和p.我不想计算,我需要一个确切的值).输出会更好,像这样,
{"m" => ["xx", "zz"], "n" => ["yy"], "p" => ["uu"]}Run Code Online (Sandbox Code Playgroud)
可以帮帮我吗?
Mic*_*ohl 14
直接复制/过去的IRB会议:
>> str.split(/, /).inject(Hash.new{|h,k|h[k]=[]}) do |h, s|
.. v,k = s.split(/@/)
.. h[k] << v
.. h
.. end
=> {"p"=>["uu"], "m"=>["xx", "zz"], "n"=>["yy"]}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14562 次 |
| 最近记录: |