¿Cómo obtengo una subcadena de una cadena en Python? [duplicar]

Resuelto Joan Venge asked hace 15 años • 16 respuestas

Quiero obtener una nueva cadena desde el tercer carácter hasta el final de la cadena, por ejemplo myString[2:end]. Si omitir la segunda parte significa 'hasta el final', y si omites la primera parte, ¿comienza desde el principio?

Joan Venge avatar Mar 20 '09 00:03 Joan Venge
Aceptado
>>> x = "Hello World!"
>>> x[2:]
'llo World!'
>>> x[:2]
'He'
>>> x[:-2]
'Hello Worl'
>>> x[-2:]
'd!'
>>> x[2:-2]
'llo Worl'

Python llama a este concepto "rebanar" y funciona en más que solo cadenas. Eche un vistazo aquí para obtener una introducción completa.

Paolo Bergantino avatar Mar 19 '2009 17:03 Paolo Bergantino

Sólo para completar, ya que nadie más lo ha mencionado. El tercer parámetro de un segmento de matriz es un paso. Entonces invertir una cadena es tan simple como:

some_string[::-1]

O seleccionar caracteres alternativos sería:

"H-e-l-l-o- -W-o-r-l-d"[::2] # outputs "Hello World"

La capacidad de avanzar y retroceder a través de la cadena mantiene la coherencia al poder dividir la matriz desde el principio o el final.

Endophage avatar Mar 20 '2012 00:03 Endophage