你如何限制Ruby中String#gsub所做的替换次数?
在PHP中,这可以通过preg_replace轻松完成,它带有一个限制替换的参数,但我无法弄清楚如何在Ruby中执行此操作.
您可以在 gsub 循环中创建一个计数器并递减它。
str = 'aaaaaaaaaa'
count = 5
p str.gsub(/a/){if count.zero? then $& else count -= 1; 'x' end}
# => "xxxxxaaaaa"
Run Code Online (Sandbox Code Playgroud)