• 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
    • Encuestas: Tamaño de Muestra
    • Lotería: Probabilidad de Ganar
    • Reparto de Escaños (D’Hondt)
    • Tres en Raya con IA
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

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

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

Publicidad


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.

Curiosidad: La Ley de Twyman y la trampa de los datos “interesantes”
En Analytics Lane
Curiosidad: La Ley de Twyman y la trampa de los datos “interesantes”

# 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!

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.

Publicidad


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!

Publicidad


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

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?

Publicidad


Publicaciones relacionadas

  • Curiosidad: La Ley de Twyman y la trampa de los datos “interesantes”
  • Copias de seguridad automáticas en SQL Server con rotación de archivos
  • Curiosidad: La Paradoja de Simpson, o por qué no siempre debes fiarte de los promedios
  • Error npm ERR! code EACCES al instalar paquetes en Node.js: Cómo solucionarlo paso a paso
  • Curiosidad: La maldición de la dimensionalidad, o por qué añadir más datos puede empeorar tu modelo
  • ¿Está concentrado el MSCI World? Un análisis con Gini, Lorenz y leyes de potencia
  • Curiosidad: ¿Por qué usamos p < 0.05? Un umbral que cambió la historia de la ciencia
  • Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)
  • La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

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

La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento

octubre 9, 2025 Por Daniel Rodríguez

Programador de tareas de Windows: Guía definitiva para automatizar tu trabajo (BAT, PowerShell y Python)

octubre 7, 2025 Por Daniel Rodríguez

Curiosidad: ¿Por qué usamos p < 0.05? Un umbral que cambió la historia de la ciencia

octubre 2, 2025 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Copiar y pegar Activar copiar y pegar en VirtualBox publicado el mayo 1, 2019 | en Herramientas
  • La Paradoja del Cumpleaños, o por qué no es tan raro compartir fecha de nacimiento publicado el octubre 9, 2025 | en Opinión
  • Curiosidad: La maldición de la dimensionalidad, o por qué añadir más datos puede empeorar tu modelo publicado el septiembre 25, 2025 | en Ciencia de datos, Opinión
  • pandas Pandas: Cómo iterar sobre las filas de un DataFrame en Pandas publicado el septiembre 13, 2021 | en Python
  • Mejora la legibilidad y calidad del código Python publicado el octubre 24, 2022 | en Python

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.5 (10)

Diferencias entre var y let en JavaScript

Publicidad

Comentarios recientes

  • Daniel Rodríguez en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • Pepe en Probabilidad básica: cómo entender el azar en nuestra vida diaria
  • CARLOS ARETURO BELLO CACERES en Justicio: La herramienta gratuita de IA para consultas legales
  • Piera en Ecuaciones multilínea en Markdown
  • Daniel Rodríguez en Tutorial de Mypy para Principiantes

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2025 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto