我是Redmine/Ruby的新手,试图实现一个简单的插件,该插件每次通过正则表达式出现单词时,都会获取当前的Wiki页面内容并匹配/替换。我怎样才能做到这一点?

谢谢!

丹尼斯

有帮助吗?

解决方案

替换一词可以通过使用 gsub()\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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top