Как вы ограничиваете количество замен, сделанных String # gsub в Ruby?
В PHP это легко сделать с помощью preg_replace, который принимает параметр для ограничения замен, но я не могу понять, как это сделать в Ruby.
Вы можете создать счетчик и уменьшить его в цикле gsub.
str = 'aaaaaaaaaa' count = 5 p str.gsub(/a/){if count.zero? then $& else count -= 1; 'x' end} # => "xxxxxaaaaa"
str = 'aaaaaaaaaa' # The following is so that the variable new_string exists in this scope, # not just within the block new_string = str 5.times do new_string = new_string.sub('a', 'x') end
gsub заменяет все вхождения.
Вы можете попробовать String # sub
http://ruby -doc.org / ядро / классов / String.html # M001185