Все мои строки delete с regex используют gsub, есть ли более короткий путь?
string.gsub(/\A.*\//,'')
Есть ли Regex Delete в Ruby?
Ответ 1
Один из способов - добавить свои собственные короткие методы:
class String
def del(regexp)
gsub(regexp,'')
end
def del!(regexp)
gsub!(regexp,'')
end
end
Обычно этот код будет находиться в каталоге lib/, например lib/string-extensions.rb
Направляет на то, что некоторым программистам это очень не нравится, потому что это исправление обезьяны. Мне лично это нравится для проектов, потому что это упрощает понимание кода - как только у меня есть метод "del", я могу быстро увидеть, что его вызовы просто удаляют регулярное выражение.
Ответ 2
Вместо этого вы можете указать часть строки, которую хотите сохранить.,.
string[/[^\/]*$/]
Ответ 3
Я так не думаю.
String:: delete удаляет символы и не соответствует регулярному выражению, это совершенно другой подход.
Единственный способ, которым я могу думать о том, чтобы сделать эту строку "короче", - это использовать string.gsub!(/\A.*\//,'')
(обратите внимание на там).
Чтобы идти, я думаю:)