Вот еще несколько способов сделать это.
str = "dolar. 2.000.000"
Все следующие возвращаемые значения "dolar. 2000000"
.
str.gsub(/\d\.\d/) { |s| s.delete('.') }
str.gsub(/(\d)\.(\d)/, '\1\2')
h = Hash.new { |_,k| k.delete('.') } #=> {}
str.gsub(/\d\.\d/, h)
In # 3 h[k]
возвращает k.delete('.')
, еслихеш не имеет ключа k
.Поскольку в хэше нет ключей, которые будут возвращены для всех совпадений.