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

时间:2010-06-17 07:51:46

标签: ruby

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

"string"[0,-3]

,也不

"string".slice(0, -3)

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

那样的东西
"string".chop.chop.chop
这可能是微不足道的,请任何人教我!谢谢!

3 个答案:

答案 0 :(得分:21)

您可以使用范围。

"string"[0..-4]

答案 1 :(得分:9)

您可以将正则表达式与gsub ...

一起使用
"string".gsub( /.{3}$/, '' )

答案 2 :(得分:1)

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

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

与之相比:

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