ruby - 循环扫描并单独替换匹配项

标签 ruby regex

我想遍历正则表达式匹配项并在循环中单独替换每个匹配项。

例如:

content.scan(/myregex/).each do |m|
  m = 'new str'
end

我该怎么做?

我之所以要这样做,是因为每个匹配项都将替换为函数的不同输出。

感谢帮助

最佳答案

gsub 方法的以下形式将完全满足您的要求:

gsub(pattern) {|match| block } → new_str

参见 http://ruby-doc.org/core-2.0.0/String.html#method-i-gsub用于文档。

关于ruby - 循环扫描并单独替换匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18907171/

相关文章:

ruby-on-rails - NameError 未初始化的常量 Model::Object

Python 正则表达式 : how to replace each instance of an occurrence with a different value?

regex - RewriteRule 上的 Apache 正则表达式, "or"语法

regex - 这个 perl 脚本片段在做什么?

Java 正则表达式不起作用,相同的模式适用于在线网站

c++ - Visual Studio 正则表达式

sql - 用于运行 sql 命令的 Ruby gem

mysql - Ruby - 比较 MySQL :Result object 的 2 行结果

ruby - Rails:ParameterFilter::compiled_filter 尝试复制符号

ruby-on-rails - 将 rails button_to helper 更改为 button_tag helper