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

Tao*_*Tao 11 ruby

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

"string"[0,-3]
Run Code Online (Sandbox Code Playgroud)

也不

"string".slice(0, -3)
Run Code Online (Sandbox Code Playgroud)

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

"string".chop.chop.chop
Run Code Online (Sandbox Code Playgroud)

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

Aug*_*aas 22

您可以使用范围.

"string"[0..-4]
Run Code Online (Sandbox Code Playgroud)

  • []和切片是synonums (3认同)
  • 小心!在Ruby 1.8中,这个*不会删除最后的字符,它会删除最后的*字节*! (3认同)
  • 或者``"string"[0 ...- 3]` (3认同)

irk*_*der 9

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

"string".gsub( /.{3}$/, '' )
Run Code Online (Sandbox Code Playgroud)