Python ofrece muchas maneras de sustraer una cadena de caracteres. A menudo a esto se la llama "slicing".

De ello se desprende esta plantilla:

string[inicio: fin: paso]

En donde,

inicio: El índice de inicio de la subcadena. El caracter de este índice está incluido en la subcadena. Si no se incluye el inicio, se asume que es igual a 0.

fin: El índice de finalización de la subcadena. El carácter en este índice NO está incluido en la subcadena. Si no se incluye end, o si el valor especificado supera la longitud de la cadena, se asume que es igual a la longitud de la cadena por defecto.

paso: Cada carácter "paso" después del carácter actual que se va a incluir. El valor predeterminado es 1. Si se omite el valor del paso, se asume que es igual a 1.

Plantilla

string[inicio:fin]: Obtener todos los caracteres del índice de principio a fin-1

string[:fin]: Obtener todos los caracteres desde el principio de la cadena hasta el fin-1

string[inicio:]: Obtener todos los caracteres desde el inicio del índice hasta el final de la cadena

string[inicio:fin:paso]: Obtener todos los caracteres de principio a fin-1 descontando cada carácter de paso

Ejemplos


Obtener los primeros 5 caracteres de una cadena

string = "freeCodeCamp"
print(string[0:5])

Salida:

> freeC

Note que print(string[:5]) devuelve el mismo resultado que print(string[0:5])

  • Obtener una subcadena de longitud 4 a partir del 3er carácter de una cadena
string = "freeCodeCamp"
print(string[2:6])

Salida:

> eeCo

Tenga en cuenta que el índice de inicio o final puede ser un número negativo. Un índice negativo significa que se empieza a contar desde el final de la cadena en lugar del principio (es decir, de derecha a izquierda). El índice -1 representa el último carácter de la cadena, -2 representa el penúltimo carácter y así sucesivamente...

  • Obtener el último caracter de una cadena
string = "freeCodeCamp"
print(string[-1])

Salida:

> p
  • Obtener los últimos 5 caracteres de una cadena
string = "freeCodeCamp"
print(string[-5:])

Salida:

> eCamp
  • Obtener una subcadena que contenga todos los caracteres excepto los últimos 4 y el primer carácter
string = "freeCodeCamp"
print(string[1:-4])

Salida:

> reeCode

Más ejemplos

str = “freeCodeCamp”

print str[-5:-2] # devuelve ‘eCa’
print str[-1:-2] # devuelve ‘’ (cadena vacia)
  • Obtener todos los demás caracteres de una cadena
string = "freeCodeCamp"
print(string[::2])

Salida:

feCdCm

Traducido del artículo How to Substring a String in Python.