Каков наилучший способ удалить последние n символов строки (в Ruby)?

в Ruby, Я просто хочу избавиться от последних n символов строки, но следующее не работает

"string"[0,-3]

ни

"string".slice(0, -3)

Мне нужен чистый метод, не похожий на

"string".chop.chop.chop

Это может быть тривиально, пожалуйста, научите меня всем! спасибо!

Ответ 1

Вы можете использовать диапазоны.

"string"[0..-4]

Ответ 2

Вы можете использовать регулярное выражение с gsub...

"string".gsub( /.{3}$/, '' )

Ответ 3

Если вы добавите ! в slice, он уничтожит последние n символов без необходимости присваивать их другой переменной:

my_string.slice!(my_string.length-3,my_string.length)

по сравнению с:

new = my_string.slice(0..-4)