私はRedmine/Rubyに非常に慣れていないので、現在のwikiページのコンテンツを取得し、正規表現を介して単語が出現するたびに一致/置換する単純なプラグインを実現しようとしています。これどうやってするの?
ありがとう!
デニス
私はRedmine/Rubyに非常に慣れていないので、現在のwikiページのコンテンツを取得し、正規表現を介して単語が出現するたびに一致/置換する単純なプラグインを実現しようとしています。これどうやってするの?
ありがとう!
デニス
単語の置換は、withを使用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