How do I limit the number of replacements when using gsub?
How do you limit the number of replacements made by String#gsub in Ruby? In PHP this can be easy done with preg_replace which takes a parameter for limiting replacements, but I can't figure out how to do this in Ruby. gsub replaces all occurences. You can try String#sub http://ruby-doc.org/core/classes/String.html#M001185 You can create a counter and decrement that within a gsub loop. 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