從索引到字符串結尾的子字符串的Ruby習慣用法



string substring (4)

只是想知道是否有一個Ruby習慣用法從索引中提取子字符串直到字符串結尾。 我知道str[index..-1]通過將一個範圍對像傳遞給String[]方法來工作,但它有點笨重。 例如,在python中,您可以編寫str[index:] ,這將隱式地為您提供字符串的其餘部分。

例:

s = "hello world"
s[6..-1] # <-- "world"

有沒有比s[6..-1]更好s[6..-1]東西?

https://ffff65535.com



如果你願意,這裡的'更好'。 您可以擴展ruby String類,然後將此方法用於您的代碼。 例如:

class String
  def last num
    self[-num..-1]
  end
end

然後:

s = "hello world"
p s.last(6)

我認為不是。

似乎Range是更好的方法。


要從範圍中獲取字符串:

s = 'hello world'
s[5..s.length - 1] # world

但是,如果你想要得到你可以使用的最後一個詞:

'hello world'.split(' ').last # world




idiomatic