Плагин Redmine, который заменяет слова с помощью регулярного выражения? - PullRequest
1 голос
/ 26 декабря 2010

Я очень новичок в Redmine / Ruby, пытаясь создать простой плагин, который берет содержимое текущей страницы вики и сопоставляет / заменяет каждый раз, когда слово встречается с помощью регулярного выражения. Как я могу это сделать?

Спасибо!

Dennis

1 Ответ

1 голос
/ 26 декабря 2010

Замена слова может быть выполнена с использованием 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

...