1

我对 Redmine/Ruby 非常陌生,试图实现一个简单的插件,该插件采用当前的 wiki 页面内容,并在每次通过正则表达式出现单词时匹配/替换。我怎样才能做到这一点?

谢谢!

丹尼斯

4

1 回答 1

1

单词替换可以通过使用gsub()with\b匹配单词边界来完成:

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

于 2010-12-26T15:34:07.207 回答