删除字符串的最后n个字符(在Ruby中)的最佳方法是什么?

在Ruby中,我只是想摆脱字符串的最后n个字符,但以下内容不起作用

"string"[0,-3] 

也不

 "string".slice(0, -3) 

我想要一个干净的方法,而不是像

 "string".chop.chop.chop 

它可能是微不足道的,请任何人教我! 谢谢!

您可以使用范围。

 "string"[0..-4] 

你可以使用gsub的正则表达式…

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

如果添加一个! slice它会破坏性地删除最后n个字符,而不必将其分配给另一个变量:

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

相比:

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