В Python мы можем использовать .strip()
метод строки для удаления ведущих или запаздывающих случаев выбранных символов:
>>> print " (Removes (only) leading & trailing brackets & ws ) ".strip(" ()")
'Removes (only) leading & trailing brackets & ws'
Как мы делаем это в Ruby? Ruby strip
метод не берет аргументов и разделяет только пробел.
В Ruby нет такого метода, но вы можете легко определить его следующим образом:
def my_strip(string, chars)
chars = Regexp.escape(chars)
string.gsub(/\A[#{chars}]+|[#{chars}]+\z/, "")
end
my_strip " [la[]la] ", " []"
#=> "la[]la"
"[[ ] foo [] boo ][ ]".gsub(/\A[ \[\]]+|[ \[\]]+\Z/,'')
=> "foo [] boo"
Можно также сократить до
"[[ ] foo [] boo ][ ]".gsub(/\A[][ ]+|[][ ]+\Z/,'')
=> "foo [] boo"
Попробуйте метод gsub :
irb(main):001:0> "[foo ]".gsub(/\As+[/,'')
=> "foo ]"
irb(main):001:0> "foo ]".gsub(/s+]\Z/,'')
=> "foo"
и т. Д.