ruby - 字符串到哈希的转换

标签 ruby string hash

我如何将字符串转换为散列?

现在我使用:

eval "{'1627207:28320'=>'text'}"
=> {'1627207:28320'=>'text'}

但是“eval”不适合我的情况——从参数传递的字符串,在这种情况下它是不安全的

已编辑:

传递的字符串也可以是:

"{'1627207'=>'text', '11:167:28320'=>'text 1/text 2/unicode=>привет!'}"

然后需要结果哈希:

{'1627207:28320'=>'text',
'11:167:28320'=>'text 1 / text 2 / unicode=>привет!'}

最佳答案

str = "{'1627207:28320'=>'text'}"
p Hash[*str.delete("{}'").split('=>')] #{"1627207:28320"=>"text"}

针对不同的输入进行编辑:

str = "{'1627207:28320'=>'text', 'key2'=>'text2'}" 
p Hash[*str.delete("{}'").split(/=>|, /)] #{"1627207:28320"=>"text", "key2"=>"text2"}

关于ruby - 字符串到哈希的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10410470/

相关文章:

ruby - 为什么默认情况下 Ruby (2.0 +) 中的 Enumerators 不是惰性的?

Ruby 服务器在本地主机(teambox)之外非常慢

java - Arrays.sort() 从我的数组中删除许多项目

c# - 在 C# 中比较字符串和整数

c++ - 编译时散列 C++0x

c# - HMC SHA1 哈希 - C# 生成与 Ruby 不同的哈希输出

ruby-on-rails - 如何在 RoR 中使用 content_tag 嵌入标签?

javascript - 如何正则表达式匹配并替换为katex

mysql - vb6 哈希密码中的 MD5

ruby-on-rails - 在Rails中使用ruby中的哈希表查询/过滤器