Я только что нашел Регулярное выражение - замените слово, кроме как внутри URL / URI и измените код так:
URI_REGEX = %r"((?:(?:[^ :/?#]+):)(?://(?:[^ /?#]*))(?:[^ ?#]*)(?:\?(?:[^ #]*))?(?:#(?:[^ ]*))?)"
def remove_uris(text)
text.split(URI_REGEX).collect do |s|
unless s =~ URI_REGEX
s
end
end.join
end
Я тестирую его в консоли rails, и он работает как положено:
remove_uris('bla bla bla... bla bla bla... http://bit.ly/someuri bla bla bla...')
=> "bla bla bla... bla bla bla... bla bla bla..."
Если у кого-то есть лучшее / эффективное решение, я проголосую или приму его. Спасибо.