Artículo original escrito por Davis David
Artículo original Python Substring – How to Slice a String
Traducido y adaptado por Franciscomelov

En Python, una cadena de caracteres es una secuencia  que puede contener caracteres especiales o alfanuméricos.

Un ejemplo de una cadena es "Nos vemos el viernes a las 8:00 am". Y en Python es posible acceder a partes específicas de una cadena de caracteres; también llamadas subcadenas.

Una subcadena se puede definir como una secuencia de caracteres dentro de una cadena. En el caso de la cadena anterior, ejemplos de subcadenas pueden ser los siguientes "viernes", "vemos" y "8:00".

Como generar una subcadena en Python

Python cuenta con diferentes métodos y formas para generar subcadenas, para verificar si una subcadena existe, para obtener el índice de una cadena y mucho más.

Puedes extraer una subcadena de una cadena con una técnica comúnmente llamada "slicing", la cual se refiere a dividir la cadena original en "rebandas" por medio de índices o la posición de un carácter de la cadena original.

slicing  puede ser traducido como rebanar.

cadena [inicio:final:saltos o pasos]

  • inicio- El índice inicial donde empezara la subcadena- por defecto es 0.
  • final- El índice final, donde terminara la subcadena - por defecto, es -1.
  • salto o paso- Número que indicara los saltos que seguirá la secuencia o subcadena. Por defecto es 1.
image-8

Los índices pueden ser positivos o negativos. Los índices positivos van desde el inicio de la cadena hasta el final y los índices negativos van del final de la cadena al inicio.

Ahora veremos diferentes ejemplos de lo que podemos hacer con subcadenas.

Como obtener los primeros n caracteres de una cadena en Python

En este ejemplo verás como obtener los primeros 4 caracteres de una cadena.

cadena = "hola mundo"
print(cadena[:4])

# Recuerda
# cadena[inicio:final:saltos]

Aquí el parámetro "final" es 4 y el parámetro "inicio" por defecto es 0.

El resultado será ‘hola’.

Como obtener los caracteres de en medio de una cadena en Python con subcadenas

En este ejemplo verás como obtener los caracteres del índice 3 al índice 5 de una cadena.

cadena = "hola mundo"
print(cadena[2:4])

El resultado es 'la’.

Como obtener los últimos n caracteres de una cadena en Python

En este ejemplo verás como obtener los últimos 4 caracteres de una cadena, para esto, el parámetro "inicio" ahora será un índice negativo para iniciar a partir del final dela cadena.

cadena = "freecodecamp"
print(cadena[-4:])

El resultado es ‘camp’.

Como obtener una subcadena con saltos en los caracteres de la cadena original en Python

También es posible obtener los caracteres con saltos, respecto a la cadena original.
Por defecto los saltos son de uno en uno (1, 2, 3, 4, 5) pero si especificamos que el valor de los saltos sea dos (1, 3, 5, 7, 9) o tres (1, 4, 7, 10, 13) podemos obtener diferentes resultados.

cadena = "Bienvenido a freecodecamp"
print(cadena[::2])

El resultado es ‘Bevnd reoeap’.

Como saber si una subcadena es parte de una cadena en Python

Hay veces que necesitarás saber si una subcadena es parte de una cadena. El siguiente ejemplo comprobará si la subcadena ‘code’  está dentro de una cadena diferente.

subcadena = "code"
cadena = "Bienvenido a freecodecamp"
print(subcadena in cadena)

# "in" en este contexto se puede traducir como "dentro de"

Si la subcadena es parte de la cadena, el código retornara verdadero (true) de lo contrario retornará False/falso

El resultado es True.

Otra forma de comprobar si una subcadena es parte de una cadena en Python

También puedes utilizar el método  find() para comprobar si una subcadena es parte de una cadena.

subcadena = "zz"
cadena = "hola mundo"
print(cadena.find(subcadena))

# find en este contexto se puede traducir como "encontrar"

Si encuentra la subcadena dentro de la cadena, el código retornará el índice donde empieza la subcadena,  de lo contrario retornará -1 (que significa que no encontró la subcadena)

Aquí el resultado es -1, lo que significa que “zz” no está dentro de “hola mundo”.

Como obtener el carácter de un índice dado de una cadena en Python.

También puedes extraer un solo carácter dando su índice como único parámetro.

cadena ="hola mundo"
print(cadena[3])

El resultado es ‘a’.

Como obtener el último carácter de una cadena en Python.

Para obtener el último carácter se utiliza el índice -1 (un índice negativo).

cadena = "freecodecamp"
print(cadena[-1])

El resultado es ‘p’.

Como obtener una lista de subcadenas a partir de una cadena en Python

Usando el método  split(), puedes crear una lista de subcadenas como en el siguiente ejemplo.

cadena = "Bienvenido a la plataforma freecodecamp"
print(cadena.split())

El resultado es ['Bienvenido', 'a', 'la', 'plataforma', 'freecodecamp']

Como invertir una cadena en Python con saltos negativos

Para invertir una cadena, el parámetro saltos debe ser un valor negativo, por ejemplo -1

cadena = "Bienvenido a freecodecamp"
print(cadena[::-1])

EL resultado es ‘pmacedoceerf a odinevneiB’.

Como saber cuantas veces está una subcadena dentro de una cadena en Python

Puedes utilizar el método count()  para saber cuantas veces esta una subcadena dentro de una cadena.

cadena = "tendremos una clase rapida de programacion esta tarde"
print(cadena.count('arde'))

# "count" en este contexto se puede traducir como "contar"

El resultado es 1.

Para terminar.

Felicidades 👏👏, ¡has terminado de leer este artículo! Espero y hayas aprendido algo nuevo sobre subcadenas en Python

Si aprendiste algo nuevo o disfrutaste este artículo, por favor comparte y así más personas podrán leerlo. ¡Nos vemos en el siguiente artículo!.

También puedes encontrarme en Twitter @Davis_McDavid. o puedes leer más artículos similares aquí.