Conoce cómo str.endswith() puede ayudarte en Python

| Última modificación: 19 de diciembre de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

¿Sabías que puedes verificar si una cadena termina con un texto o caracter específico en Python? Yo no lo sabía hasta que tuve que usarlo, por eso el día de hoy quiero contarte que esto es posible gracias al método str.endswith(), el cual te explicaré hoy para que no te pase lo que a mi. Veamos cómo funciona y cuáles son sus contextos.

str.endswith() en python

¿Qué es str.endswith()?

El método str.endswith() en python, como su nombre puede darte señales, se usa para comprobar si una cadena termina con un valor específico (endswith -> termina con/en). Si se cumple la condición, devuelve true, de lo contrario, devuelve false. Se usa para validación de texto, filtrado de datos y análisis de strings en Python.

Como características principales tenemos que:

  1. Verifica el final de una cadena: Útil para comprobar si una cadena termina con un carácter, palabra o incluso un grupo de posibles valores.
  2. Acepta rangos opcionales: Puedes limitar la búsqueda a un rango específico dentro de la cadena usando los parámetros start y end.
  3. Soporta tuplas: Permite verificar múltiples valores simultáneamente, devolviendo true si la cadena termina con cualquiera de ellos.

Su sintaxis aborda varias partes:

cadena.endswith(valor, inicio, final)

Esas partes o parámetros son:

  • valor (obligatorio). Es el sufijo que deseas verificar.
  • inicio (opcional). Es el índice donde comienza la búsqueda (por defecto es 0).
  • final (opcional). Corresponde al índice donde termina la búsqueda (por defecto es el final de la cadena).

Veamos str.endswith() en contexto: ejemplos

  • Verificar un sufijo simple:
texto = "Hola, bienvenido a mi mundo."
resultado = texto.endswith(".")
print(resultado) # Esto imprimirá: True

En este ejemplo str.endswith() verifica si la cadena termina con un punto y devuelve true.

  • Comprobación con un rango:
texto = "Hola, bienvenido a mi mundo."
resultado = texto.endswith("mi mundo", 10, 25)
print(resultado) # Esto imprimirá: True

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

Aquí, str.endswith() solo verifica dentro del rango de índices especificado (del 10 al 25) y confirma que “mi mundo” está al final de ese fragmento.

Si especificas un rango con el parámetro start y end en el método str.endswith() que excede la longitud de la cadena, Python ajustará el rango al final de la cadena. Esto significa que no generará un error ni causará problemas.

  • Verificar múltiples valores
texto = "Hola, bienvenido a mi castillo."
resultado = texto.endswith(("mundo.", "castillo."))
print(resultado) # Esto imprimirá: True

Aquí observamos cómo puedes usar una tupla para comprobar varios sufijos posibles. Si la cadena termina con cualquiera de ellos, el método devuelve true. En este caso termina con “castillo”, y aunque no está “mundo”, devuelve true porque es una condición excluyente.

¿Cuáles son los usos que se le puede dar a str.endswith()?

Algunos de los escenarioos más comunes donde podemos aplicar str.endswith() son:

  • Validación de extensiones de archivo:
archivo = "documento.pdf"
if archivo.endswith((".pdf", ".docx", ".txt")):
print("Formato de archivo válido.")
else:
print("Formato no compatible.")
  • Filtrado de datos en listas: Al trabajar con listas de cadenas, puedes filtrar fácilmente aquellas que terminen con un sufijo específico, así
nombres = ["Juan.txt", "Maria.docx", "Luis.pdf"]
archivos_txt = [nombre for nombre in nombres if nombre.endswith(".txt")]
print(archivos_txt) # Esto imprimirá: ['Juan.txt']
  • Comprobación de dominios de correo electrónico: str.endswith() es muy buena opción para validar correos electrónicos con dominios específicos, de este modo:
correo = "[email protected]"
if correo.endswith("@gmail.com"):
print("Correo válido de Gmail.")
else:
print("El correo no pertenece a Gmail.")

Diferencias entre str.endswith() y otros métodos parecidos

Python nos propone otros métodos para trabajar con strings, como str.startswith() o inclusive los operadores de comparación. Empero, str.endswith() es único porque está diseñado específicamente para verificar el final de una cadena.

MétodoPropósito
str.endswith()Verifica si una cadena termina con un valor específico
str.startswith()Verifica si una cadena comienza con un valor específico
“in” operadorComprueba si un substring está presente en la cadena

Para tareas enfocadas exclusivamente en el final de una cadena, str.endswith() es la opción más viable y fácil de usar.

Algunos consejos finales sobre su uso…

  1. Usa tuplas para múltiples comprobaciones: Si necesitas verificar varios valores, utiliza una tupla para reducir la complejidad y mejorar la legibilidad del código.
  2. Combínalo con otros métodos de validación: Usa str.endswith() junto con métodos como str.startswith() para una validación más completa.
  3. Especifica rangos cuando sea necesario: Al trabajar con cadenas largas, limitar la búsqueda con los parámetros start y end puede mejorar el rendimiento.

Si estás interesado en aprender más sobre Python y otros conceptos de programación, el Bootcamp en programación inicial de KeepCoding es tu mejor opción. Te prepararemos para ingresar al sector IT, un campo con alta demanda, salarios competitivos y estabilidad laboral. ¡Únete hoy mismo y transforma tu futuro con tecnología!

Ramón Maldonado

Full Stack Developer y Responsable de Formación base en KeepCoding.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a Programar desde Cero

Full Stack Jr. Bootcamp

Apúntate y consigue uno de los perfiles más demandados con Python en solo 4 meses.