从字符串中删除最后n个字符的首选方法是什么?


当前回答

str = str[0..-1-n]

不像[0…-n],它处理n=0的情况。

其他回答

你可以用

 "string".sub!(/.{X}$/,'')

其中X是要删除的字符数。

或者赋值/使用结果:

myvar = "string"[0..-X]

其中X是要删除的字符数加1。

查看slice()方法:

http://ruby-doc.org/core-2.5.0/String.html#method-i-slice

如果您正在使用rails,请尝试:

"my_string".last(2) # => "ng"

(编辑)

获取没有最后2个字符的字符串:

n = "my_string".size
"my_string"[0..n-3] # => "my_stri"

注意:最后一个字符串字符是n-1。为了去掉最后2,我们用n-3。

str = str[0..-1-n]

不像[0…-n],它处理n=0的情况。

irb> 'now is the time'[0...-4]
=> "now is the "