我有散列數組:如何替換哈希中包含的值?
arr = [
{:key1=>"foo one bar", :key2=>"two", :key3=>"three"},
{:key1=>"four", :key2=>"five", :key3=>"six"},
{:key1=>"seven", :key2=>"eight", :key3=>"nine"}
]
和我想通過搜索和與"replaced"
取代的:key1
的值,如果:key
CONTAINS「一」。
得到的數組將然後閱讀:
arr = [
{:key1=>"replaced", ;key2=>"two", :key3=>"three"},
{:key1=>"four", ;key2=>"five", :key3=>"six"},
{:key1=>"seven", ;key2=>"eight", :key3=>"nine"}
]
我試着在「Replace one matched value in a hash with another」,但無濟於事使用include?
從我以前的帖子和回覆。
這些都將得到一個確切的比賽:
arr.each{|item| item[:key1] = "replaced" if item[:key1]=="one"}
的意志:
p arr.each {|x| x[:key1] = "replaced" if x.values_at(:key1) == "one"}
,但我需要它只是包含字符串項。
包含字符串「one」的其他單詞是否可以存在? – 2013-04-21 16:19:34