我对 Redmine/Ruby 非常陌生,试图实现一个简单的插件,该插件采用当前的 wiki 页面内容,并在每次通过正则表达式出现单词时匹配/替换。我怎样才能做到这一点?
谢谢!
丹尼斯
我对 Redmine/Ruby 非常陌生,试图实现一个简单的插件,该插件采用当前的 wiki 页面内容,并在每次通过正则表达式出现单词时匹配/替换。我怎样才能做到这一点?
谢谢!
丹尼斯
单词替换可以通过使用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