• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Laboratorio
    • Estadística
      • Calculadora del Tamaño Muestral en Encuestas
      • Calculadora de estadísticos descriptivos
      • Test de normalidad
      • Calculadora de contrastes de hipotesis
      • Calculadora de tamano del efecto
      • Simulador de Regresión Lineal con Ruido
      • Visualizador de PCA
      • Visualizador de Series Temporales
      • Simulador de Regresión Logística
      • Simulador de K-Means
      • Simulador de DBSCAN
      • Detector de la Ley de Benford
      • Ajuste de Curvas
      • Calculadora de Matrices
    • Probabilidad
      • Calculadora de Probabilidad de Distribuciones
      • Calculadora de Probabilidades de Lotería
      • Simulador del Problema de Monty Hall
      • Simulador de la Estrategia Martingala
    • Finanzas
      • Calculadora de Préstamos e Hipotecas
      • Conversor TIN ↔ TAE
      • Calculadora DCA con ajuste por inflación
      • Calculadora XIRR con Flujos Irregulares
      • Simulador FIRE (Financial Independence, Retire Early)
    • Negocios
      • CLV
      • Scoring
    • Herramientas
      • Formateador / Minificador de JSON
      • Conversor CSV ↔ JSON
      • Comparador y Formateador de Texto y JSON
      • Formateador y Tester de Expresiones Regulares
      • Inspector de JWT
      • Generador y verificador de hashes
      • Codificador / Decodificador Base64 y URL
      • Conversor de bases numericas
      • Conversor de Timestamp Unix
      • Conversor de colores
      • Generador de UUIDs
    • Juegos
      • Tres en Raya
      • Nim con Q-Learning
    • Más
      • Método D’Hondt
      • Generador de Contraseñas Seguras
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • IA Generativa
  • Python
  • Pandas
  • NumPy
  • R
  • Excel

Manipulación de cadenas en Python

septiembre 11, 2023 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 5 minutos

La manipulación de cadenas de texto es una tarea habitual y clave en programación. Por eso Python, al igual que la mayoría de los lenguajes de programación, ofrece una serie de funciones para ello en la librería estándar. En esta publicación, se explorarán algunas de las funciones y métodos disponibles para la manipulación de cadenas en Python. Conocer y comprender estas funciones y métodos es necesario para trabajar de manera efectiva con cadenas de texto.

Tabla de contenidos

  • 1. Obtener la longitud de una cadena de texto
  • 2. Cambiar entre mayúsculas y minúsculas
  • 3. Eliminación de espacios en blanco iniciales y finales
  • 4. Dividir una cadena en una lista
  • 5. Unir elementos de una lista en una cadena
  • 6. Comprobar si una cadena comienza o termina con una subcadena
  • 7. Reemplazar de subcadenas en una cadena
  • 8. Localizar una cadena dentro de otra
  • 9. Conclusiones

Obtener la longitud de una cadena de texto

La función len() de Python, cuando se le pasa como parámetro una cadena de texto, devuelve la longitud de la cadena. Una función que se puede usar de forma fácil como se muestra a continuación.

# Asignar una cadena de texto a la variable
message = "¡Hola mundo!"

# Obtener la longitud de la cadena de texto
length = len(message)

# Imprimir la longitud por pantalla
print(length)
12

Cambiar entre mayúsculas y minúsculas

Las cadenas de texto en Python cuentan con varios métodos para cambiar los textos a mayúsculas o minúsculas. Permitiendo homogeneizar el formato de las cadenas de texto que se usan en una aplicación. El método lower() crea una nueva cadena igual a la original pero en minúsculas. De forma análoga, el método upper() crea una nueva cadena con el texto en mayúsculas. Finalmente, también existe el método title() que crea una nueva cadena con la primera letra de cada palabra en mayúsculas, esto es, en formato de título. El uso de estos métodos es bastante sencillo como se muestra a continuación.

Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)
En Analytics Lane
Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)

# Convertir el texto en minúsculas
lowercase_message = message.lower()
print(lowercase_message)

# Convertir el texto en mayúsculas
uppercase_message = message.upper()
print(uppercase_message)

# Convertir el texto a formato titulo
title_message = message.title()
print(title_message)
¡hola mundo!
¡HOLA MUNDO!
¡Hola Mundo!

Publicidad


Eliminación de espacios en blanco iniciales y finales

Un problema habitual en las cadenas de texto es la existencia de espacios en blanco al principio y al final de la cadena. Lo que puede hacer que dos cadenas que parezcan iguales no lo sean realmente. Para solucionar ese problema las cadenas de texto cuentan con el método strip() que elimina los espacios en blanco al principio y al final de la cadena. Si solamente se desea eliminar los espacios en blanco al principio o al final de la cadena se pueden usar respectivamente los métodos lstrip() y rstrip(). En el siguiente ejemplo se puede ver cómo funcionan estos métodos sobre una cadena con espacios en blanco al principio y al final.

# Cadena de texto con espacios en blanco
message = "  ¡Hola mundo!  "

# Usar los métodos para eliminar espacios en blanco
message_noblanks = message.strip()
message_left = message.lstrip()
message_right = message.rstrip()

# Imprimir los resultados por pantalla
print('-', message, '-')
print('-', message_noblanks, '-')
print('-', message_left, '-')
print('-', message_right, '-')
-   ¡Hola mundo!   -
- ¡Hola mundo! -
- ¡Hola mundo!   -
-   ¡Hola mundo! -

Nótese que en este caso se han incluido guiones al principio y al final de la función print() para mostrar el efecto de los métodos.

Dividir una cadena en una lista

La función split() crea una lista de subcadenas dividiendo la cadena original en base a un separador. Por defecto son los espacios en blanco, pero se le puede indicar cualquier otro como parámetro. Así, como se muestra a continuación, se puede dividir una frase en palabras o en base a un separador como la coma.

# Cadena de texto con una frase
message = "Dividir una cadena, es fácil."

# Dividir una cadena en usando los espacios en blanco
words = message.split()
print(words)

# Dividir una cadena usando un símbolo de puntuación
phrases = message.split(',')
print(phrases)
['Dividir', 'una', 'cadena,', 'es', 'fácil.']
['Dividir una cadena', ' es fácil.']

Unir elementos de una lista en una cadena

Python también cuenta con el método join() para unir una lista en una cadena. Este método une las cadenas de la lista con la cadena sobre la que se aplica. Por eso la forma habitual de usarlo es crear un espacio en blanco y aplicar el método sobre ella. Aunque, como se muestra a continuación también se puede usar otro carácter como un punto.

# Unir las cadenas de texto con espacios
join_space =  ' '.join(words)
print(join_space)

# Unir las cadenas de texto con puntos
join_dot =  '.'.join(words)
print(join_dot)
Dividir una cadena, es fácil.
Dividir.una.cadena,.es.fácil.

Publicidad


Comprobar si una cadena comienza o termina con una subcadena

Entre los métodos disponibles para la manipulación de cadenas en Python existen dos que pueden comprobar si una cadena comienza o termina por una subcadena, respectivamente: startswith() y endswith(). Simplemente se aplica sobre la cadena y como parámetro se pasa la cadena a buscar. Si la cadena comienza o termina con la subcadena el resultado es True, en caso contrario es False.

# Asignar una cadena de texto a la variable
message = "¡Hola mundo!"

# Comprobar si la cadena comienza por Hola (es falso)
starts_with_hola = message.startswith("Hola")
print(starts_with_hola)

# Comprobar si la cadena finaliza con ! (es verdadero)
ends_with_exclamation = message.endswith("!")
print(ends_with_exclamation)
False
True

Reemplazar de subcadenas en una cadena

El método replace() crea una nueva cadena de texto donde se reemplaza las ocurrencias de la primera subcadena que se pasa como parámetro con la segunda. Así se pueden reemplazar letras o palabras por otras. Por ejemplo, en el mensaje ¡Hola mundo! se puede reemplazar mundo por lector con un código como el que se muestra a continuación.

# Reemplaza todas las ocurrencias de "mundo" por "lector"
new_message = message.replace("mundo", "lector")
print(new_message)
¡Hola lector!

Localizar una cadena dentro de otra

Dentro de las tareas de manipulación de cadenas en Python la localización de subcadenas es algo que se puede hacer con los métodos find() e index(). En ambos casos, cuando la cadena a buscar se encuentra dentro de la otra la función devuelve la posición de la primera ocurrencia. La diferencia está en lo que pasa cuando no existe la cadena a buscar, en este caso find() devuelve -1, mientras que index() genera un mensaje de error que para la ejecución del código. Por eso, es más habitual el uso de find().

# Buscar o, existe
print(message.find('o'))

# Buscar w, no existe
print(message.find('w'))

# Buscar o, existe
print(message.index('o'))

# Buscar w, no existe
print(message.index('w'))
2
-1
2
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[8], line 11
      8 print(message.index('o'))
     10 # Buscar w, no existe
---> 11 print(message.index('w'))

ValueError: substring not found

Publicidad


Conclusiones

La manipulación de cadenas en Python es una tarea que se puede hacer fácilmente gracias a las funciones y métodos que se incluyen por defecto en el lenguaje. Los cuales es necesario conocer si se trabaja con cadenas de texto. Como se ha visto en la entrada, para la mayoría de las tareas que se suelen hacer en el día a día existe una forma estándar para conseguirlo.

Imagen de Deborah Hudson en Pixabay

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 0 / 5. Votos emitidos: 0

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Los récords con asterisco, o la épica del titular sin contexto – El bestiario de los indicadores económicos absurdos (parte 8 y final)
  • Por Qué las Contraseñas Largas son más Seguras que las Complejas
  • Segmentación RFM: cómo clasificar tu cartera de clientes antes de calcular el CLV
  • PSI: Cómo Saber Cuándo tu Modelo de Credit Scoring se ha Degradado
  • Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción
  • Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring
  • Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)
  • BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas
  • Curiosidad: De dónde vienen foo, bar y foobar

Publicado en: Python

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Por Qué las Contraseñas Largas son más Seguras que las Complejas

agosto 20, 2026 Por Daniel Rodríguez

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

agosto 18, 2026 Por Daniel Rodríguez