Ruby idioma para subcadena de índice hasta el final de la cadena
string substring (4)
Me pregunto si hay un modismo de Ruby para extraer una subcadena de un índice hasta el final de la cadena. Sé de str[index..-1]
que funciona pasando un objeto rango al método String
[]
pero es un poco torpe. En python, por ejemplo, puede escribir str[index:]
que implícitamente le proporcionará el resto de la cadena.
Ejemplo:
s = "hello world"
s[6..-1] # <-- "world"
¿Hay algo más agradable que s[6..-1]
?
Aquí está ''más lindo'' si lo desea. Puede extender la clase String de ruby y luego usar este método en su código. Por ejemplo:
class String
def last num
self[-num..-1]
end
end
Y entonces:
s = "hello world"
p s.last(6)
Creo que no es así.
Parece que Range
es una mejor manera de hacerlo.
Para obtener la cadena de un rango:
s = ''hello world''
s[5..s.length - 1] # world
Sin embargo, si lo que desea es obtener la última palabra que podría usar:
''hello world''.split('' '').last # world
Puedes extender la clase String
. Sin embargo, no estoy seguro de si es un idioma rubí:
class String
def last(n)
self[(self.length - n)..-1]
end
end