В ruby такого метода нет, но вы можете легко определить его следующим образом:
class String
alias strip_ws strip
def strip chr=nil
return self.strip_ws if chr.nil?
self.gsub /^[#{Regexp.escape(chr)}]*|[#{Regexp.escape(chr)}]*$/, ''
end
end
, который удовлетворит запрошенным требованиям:
> "[ [] foo [] boo [][]] ".strip(" []")
=> "foo [] boo"
Пока вы делаете то, что вы 'Ожидал бы в менее экстремальных условиях.
> ' _bar_ '.strip.strip('_')
=> "bar"
nJoy!