[英]What's the Ruby equivalent of Python's output[:-1]?
在Python中,如果我想獲取字符串的前n個字符減去最后一個字符,則可以執行以下操作:
output = 'stackoverflow'
print output[:-1]
什么是Ruby等價物?
我不想太挑剔,但如果您想更像Python的方法,而不是執行"StackOverflow"[0..-2]
,則可以"StackOverflow"[0...-1]
進行"StackOverflow"[0...-1]
同樣的結果。
在Ruby中,具有3個點的范圍排除了正確的參數,而具有2個點的范圍包括了該參數。 因此,在進行字符串切片的情況下,這三個點與Python的語法更加接近。
您當前的Ruby並沒有按照您的描述進行操作:它會截斷最后一個字符,但也會反轉字符串。
與Python代碼段最接近的等效項是
output = 'stackoverflow'
puts output[0...-1]
您最初使用..
而不是...
(如果您執行output[0..-2]
); 前者關閉-后者關閉-打開。 Python中的切片(以及大多數其他所有內容)都是關閉的。
"stackoverflow"[0..-2]
將返回"stackoverflo"
如果您要做的只是刪除字符串的最后一個字符,則也可以使用“ chop”方法:
puts output.chop
要么
puts output.chop!
如果您只想刪除最后一個字符,也可以
output.chop
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.