我有很多这样的文档:
foo_1 foo_2
foo_3
bar_1 foo_4 ...
我想通过获取 foo_[X]
的所有实例并将它们中的每一个替换为 foo_[X+1]
来转换它们。在这个例子中:
foo_2 foo_3
foo_4
bar_1 foo_5 ...
我可以用 gsub 和一个 block 来做到这一点吗?如果不是,最干净的方法是什么?我真的在寻找一个优雅的解决方案,因为我总是可以暴力破解它,但我觉得有一些正则表达式技巧值得学习。
最佳答案
我(完全)不懂 Ruby,但类似这样的东西应该可以工作:
"foo_1 foo_2".gsub(/(foo_)(\d+)/) {|not_needed| $1 + ($2.to_i + 1).to_s}
LE:我真的成功了:http://codepad.org/Z5ThOvTr
关于ruby - 如何搜索、递增和替换 Ruby 字符串中的整数子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5993510/