如何在Ruby字符串中搜索,递增和替换整数子串?

Dav*_*ney 5 ruby regex string replace gsub

我有很多文档看起来像这样:

foo_1 foo_2

foo_3

bar_1 foo_4 ...
Run Code Online (Sandbox Code Playgroud)

我希望通过采用所有实例foo_[X]并用它们替换它们来转换它们foo_[X+1].在这个例子中:

foo_2 foo_3

foo_4

bar_1 foo_5 ...
Run Code Online (Sandbox Code Playgroud)

我可以用gsub和一个块做到这一点吗?如果没有,最干净的方法是什么?我真的在寻找一个优雅的解决方案,因为我总是可以强迫它,但觉得有一些值得学习的正则表达式.

Ali*_*aru 4

我根本不了解 Ruby,但类似的东西应该可以工作:

"foo_1 foo_2".gsub(/(foo_)(\d+)/) {|not_needed| $1 + ($2.to_i + 1).to_s}
Run Code Online (Sandbox Code Playgroud)

LE:我实际上让它工作了: http: //codepad.org/Z5ThOvTr