通过正则表达式替代单词的Redmine插件?
-
13-10-2019 - |
题
我是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
不隶属于 StackOverflow