Redmine插件通过正则表达式替换单词?

时间:2010-12-26 15:29:28

标签: ruby regex redmine redmine-plugins

我是Redmine / Ruby的新手,试图获得一个简单的插件,它可以获取当前的wiki页面内容,并在每次通过正则表达式出现时匹配/替换。我怎么能这样做?

谢谢!

丹尼斯

1 个答案:

答案 0 :(得分:1)

可以使用gsub()\b匹配word boundary来完成替换一词:

irb(main):001:0> 'foo bar baz foo bar'.gsub /\bfoo\b/, 'replaced'
=> "replaced bar baz replaced bar"

这是一个更完整的解决方案,其中包含要替换的单词词典:

repl = {'foo'=>'apple', 'baz'=>'banana'}
s = 'foo bar baz foo bar'
for from, to in repl:
     s = s.gsub /\b#{from}\b/, to
end

结果:apple bar banana apple bar