Плагин Redmine, который заменяет слова через регулярное выражение?

StackOverflow https://stackoverflow.com/questions/4534343

Вопрос

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

Спасибо!

Деннис

Это было полезно?

Решение

Слово замена может быть сделано с помощью 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