比如说我有一根绳子
"@a ipsum lorem @b dolor sit amet @c consectetur adipisicing"
我想转换成一个数组(或者散列,或者一些键和值的模式)
{ @a => "ipsum lorem", @b => "dolor sit amet", @c => "consectetur adipisicing" }
这有可能吗?如果有,怎么办?
一些要点:
键是一个已知的值列表,这些值不太可能发生冲突
字符串中还有其他单词。
钥匙上有一个
符号
@
密钥可能超过一个字符,例如@key,
@更长的钥匙。
我在Rails 3.2和Ruby 1.9.3中工作。
最佳答案
Hash[s.scan(/\@\w+/).zip s.split(/\s?\@\w+\s/).drop(1)]