How to strip leading and trailing quote from string, in Ruby

Since Ruby 2.5, reverse chomp(x) is available under the name delete_prefix, and chomp(x) is available as delete_suffix, meaning that you can use

'"foo,bar"'.delete_prefix('"').delete_suffix('"')

OLD ANSWER: For earlier Ruby versions, you could use the chomp function, but it unfortunately only works in the end of the string, assuming there was a reverse chomp, you could:

'"foo,bar"'.rchomp('"').chomp('"')

Implementing rchomp is straightforward:

class String
  def rchomp(sep = $/)
    self.start_with?(sep) ? self[sep.size..-1] : self
  end
end

Note that you could also do it inline, with the slightly less efficient version:

'"foo,bar"'.chomp('"').reverse.chomp('"').reverse

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)