在Ruby中, 我只是想摆脱一个字符串, 最后ñ字符,但下面不工作删除字符串的最后n个字符(在Ruby中)的最佳方式是什么?
"string"[0,-3]
也不
"string".slice(0, -3)
我想一个干净的方法,没有任何像
"string".chop.chop.chop
它可能是微不足道的,请任何人教我!谢谢!
在Ruby中, 我只是想摆脱一个字符串, 最后ñ字符,但下面不工作删除字符串的最后n个字符(在Ruby中)的最佳方式是什么?
"string"[0,-3]
也不
"string".slice(0, -3)
我想一个干净的方法,没有任何像
"string".chop.chop.chop
它可能是微不足道的,请任何人教我!谢谢!
你可以使用与GSUB正则表达式...
"string".gsub(/.{3}$/, '')
如果添加!
到slice
它会破坏性删除最后n个字符,而无需将其分配给另一个变量:
my_string.slice!(my_string.length-3,my_string.length)
相比:
new = my_string.slice(0..-4)
+1'chop.chop.chop'。让我觉得你把斧头拉到了弦的尽头。 :-) – 2010-06-17 07:56:39
'chop.chop.chop'还有另外一个缺点,就是要为你的'String'增加三个副本。如果它只是''hello,world'',那么这就没有关系,但如果它是'File.read('/ some/really/big.file')',它会。 – 2010-06-17 14:12:35
相反的任务,从字符串中获取最后的'n'字节/字符/任何东西都有点棘手:http://stackoverflow.com/questions/2174767/extracting-the-last-n-characters-from-a-ruby -string – 2010-06-18 01:10:34