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


当前回答

x = "my_test"
last_char = x.split('').last

其他回答

你可以用

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

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

或者赋值/使用结果:

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

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

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

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

name = "my text"
x.times do name.chop! end

在控制台:

>name = "Nabucodonosor"
 => "Nabucodonosor" 
> 7.times do name.chop! end
 => 7 
> name
 => "Nabuco" 
x = "my_test"
last_char = x.split('').last

使用正则表达式:

str = 'string'
n = 2  #to remove last n characters

str[/\A.{#{str.size-n}}/] #=> "stri"