修改数组中的哈希
{:sku=>"TP-PA211", :desc=>"description", :qty=>"", :qty2=>"1 en su sucursal", :price=>"30.02 D"}
我想用gsub修改散列qty2,数组的名称是details2
当我这样做时:
details2.collect {|item| item[:qty2].gsub(/[^\d]/, '') }
我获得了所有修改后的值。
哈希qty2 =>“1 en su sucursal”需要更改为qty2 =>“1”,所以使用.gsub(/ [^ \ d] /,'')可以完成,但是如何更改哈希的值!?考虑到它的一系列哈希。
尝试了这个:
details2{|item| item[:qty2] = item[:qty2].gsub(/[^\d]/, '') }
答案 0 :(得分:2)
如果您尝试就地更新项目,则不需要collect
。有一种更简单的方法。试试这个:
details2.each {|item| item[:qty2].gsub!(/[^\d]/, '') }
那应该就地替换你的字符串。