• 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
  • 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
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • JavaScript
  • 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.

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.

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

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().

Publicidad


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

Publicaciones relacionadas

  • Diagramas de dispersión y gráficos de regresión con Seaborn: Visualización de relaciones entre variables numéricas
    Diagramas de dispersión y gráficos de regresión con Seaborn:…
  • Visualización de distribuciones de datos con Seaborn: Histogramas, gráficos de densidad y boxplots
    Visualización de distribuciones de datos con Seaborn:…
  • Trucos para comprensión de listas en Python
    Trucos para comprensión de listas en Python
  • Procesado de texto
    Procesado de cadenas de texto en Python
  • Uso de comillas simples o dobles en Python
    Uso de comillas simples o dobles en Python
  • Codificación JSON
    Archivos JSON con Python: lectura y escritura

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.

Publicidad




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
  • Facebook
  • GitHub
  • Instagram
  • Pinterest
  • RSS
  • Twitter
  • Tumblr
  • YouTube

Publicidad

Entradas recientes

El método de Hare-Niemeyer y su implementación en Python

septiembre 29, 2023 Por Daniel Rodríguez

Redimensionar una partición de disco LVM con espacio no asignado en Linux

septiembre 27, 2023 Por Daniel Rodríguez

¿Cómo saber la versión de Pandas o cualquier otra librería en Python?

septiembre 25, 2023 Por Daniel Rodríguez

Publicidad

Es tendencia

  • ¿Cómo eliminar columnas y filas en un dataframe pandas? publicado el marzo 25, 2019 | en Python
  • La aplicación Auto Py to Exe Creación de un EXE desde un archivo Python en Windows publicado el mayo 16, 2022 | en Python
  • Seleccionar filas y columnas en Pandas con iloc y loc publicado el junio 21, 2019 | en Python
  • ¿Cómo cambiar el nombre de las columnas en Pandas? publicado el mayo 6, 2019 | en Python
  • Gráficos de barras en Matplotlib publicado el julio 5, 2022 | en Python

Publicidad

Lo mejor valorado

4.9 (22)

Seleccionar filas y columnas en Pandas con iloc y loc

4.7 (12)

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

4.6 (15)

Archivos JSON con Python: lectura y escritura

4.5 (10)

Diferencias entre var y let en JavaScript

4.3 (12)

Ordenación de diccionarios en Python mediante clave o valor

Publicidad

Comentarios recientes

  • Daniel Rodríguez en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • Miguel en ¿Cómo eliminar columnas y filas en un dataframe pandas?
  • alberto en Resolver problema de credenciales en Bitbucket
  • Pablo en Aplicar el método D’Hondt en Excel
  • Agapito en Creación de un EXE desde un archivo Python en Windows

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-2023 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto