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.