¿Cómo obtener un substring en Python?

| Última modificación: 6 de marzo de 2025 | Tiempo de Lectura: 3 minutos

Recuerdo cuando empecé con Python y uno de mis primeros obstáculos fue extraer una parte específica de una cadena de texto, es decir, obtener un substring. Aunque hoy lo hago en segundos, entonces invertí horas leyendo documentación, blogs y respuestas en Stack Overflow. Ahora, después de años de experiencia, quiero compartirte los métodos y trucos que utilizo a diario para que tú no tengas que pasar por lo mismo.

¿Qué es un substring y por qué deberías dominarlo?

Un substring es simplemente una secuencia de caracteres que forma parte de una cadena más larga. Saber cómo obtenerlo es fundamental cuando trabajas con texto en Python, ya sea para procesar datos, extraer información útil o validar entradas de usuario.

substring en Python

Obtener substrings en Python explicado con la analogía del chef

Extraer substrings en Python es parecido a cortar ingredientes con un cuchillo de chef: el slicing te permite elegir exactamente la parte del texto que quieres, con precisión quirúrgica, usando índices específicos.

El método básico: slicing en Python

La técnica más habitual para extraer substrings en Python se llama slicing y funciona así:

mi_cadena = "KeepCoding Bootcamp Python"

# Obtener "KeepCoding"
print(mi_cadena[0:10]) # KeepCoding

# Desde "Bootcamp" hasta el final
print(mi_cadena[11:]) # Bootcamp Python

# Últimos 6 caracteres
print(mi_cadena[-6:]) # Python

# Invertir la cadena
print(mi_cadena[::-1]) # nohtyP pmactooB gnidoCpeeK

Aquí tienes una guía completa sobre slicing en la documentación oficial de Python.

Índices negativos y pasos avanzados:

Puedes usar índices negativos y pasos para realizar cortes más sofisticados:

mi_cadena = "abcdefg"

# Obtener últimos 3 caracteres
print(mi_cadena[-3:]) # efg

# Saltando cada 2 caracteres
print(mi_cadena[::2]) # aceg

Alternativas para obtener substrings en Python

Aunque el slicing es la técnica principal, también existen métodos alternativos que aprendí participando en foros como Stack Overflow:

Usando .split()

Si tienes elementos claramente separados, .split() es tu mejor amigo:

data = "Python, JavaScript, PHP"
lenguajes = data.split(", ")
print(lenguajes) # ['Python', 'JavaScript', 'PHP']

Expresiones regulares

Cuando la extracción depende de patrones complejos, las expresiones regulares te salvarán la vida:

import re

texto = "Precio total: 29.99€"
precio = re.search(r"\d+\.\d+", texto).group()
print(precio) # 29.99

La librería estándar re (regular expressions) es increíblemente potente.

Buenas prácticas para trabajar con substrings en Python:

Estas recomendaciones me han servido muchísimo en mis desarrollos y provienen de experiencias compartidas por expertos en comunidades de desarrollo:

  • Usa variables descriptivas para los índices al hacer slicing.
  • Siempre valida antes si un substring existe con el operador in.
  • Maneja los posibles errores usando excepciones si utilizas regex.

Trucos avanzados y útiles que he aprendido:

Aquí tienes algunos consejos avanzados, poco conocidos pero útiles:

  • Invertir una cadena fácilmente:
texto = "Python"
print(texto[::-1]) # nohtyP
  • Obtener substring desde un carácter específico sin saber su índice:
url = "https://miweb.com/cursos/python"
curso = url[url.find("cursos"):] # 'curso/python'

Fuentes de referencia contrastadas y fiables:

Sigue profundizando en Python y mejora tu carrera profesional

Dominar cómo obtener substrings es solo una pequeña parte de todo lo que puedes aprender en Python. Si quieres transformar radicalmente tu carrera, te recomiendo echar un vistazo al Bootcamp de Desarrollo Web de KeepCoding. Allí, además de Python, aprenderás tecnologías líderes con proyectos reales y tutores expertos que te acompañarán en cada paso del proceso.

No esperes más, ¡conviértete en un experto en Python hoy mismo y empieza a vivir de lo que realmente te apasiona!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo web

Full Stack Bootcamp

Clases en Directo | 10 meses | Sueldos de hasta 80K | Acceso a +600 empresas | 98.49% de empleabilidad