Вы также можете использовать функцию chomp
, но, к сожалению, она работает только в конце строки, при условии обратного сжатия, вы могли бы:
'"foo,bar"'.rchomp('"').chomp('"')
Реализация rchomp
проста:
class String
def rchomp(sep = $/)
self.start_with?(sep) ? self[sep.size..-1] : self
end
end
Обратите внимание, что вы также можете сделать это встроенным, с немного менее эффективной версией:
'"foo,bar"'.chomp('"').reverse.chomp('"').reverse
РЕДАКТИРОВАТЬ: Начиная с Ruby 2.5, rchomp(x)
доступен под именем delete_prefix
, а chomp(x)
доступен как delete_suffix
, что означает, что вы можете использовать
'"foo,bar"'.delete_prefix('"').delete_suffix('"')