在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