Saltar al contenido principal

Cómo recortar una cadena en Python: Tres métodos diferentes

Aprende los fundamentos del recorte de caracteres iniciales y finales de una cadena en Python.
Actualizado 16 feb 2025  · 6 min de lectura

Recortar texto es una tarea fundamental cuando se manejan datos de texto en Python, especialmente en las fases de limpieza y preparación de datos de los proyectos de ciencia de datos. El recorte ayuda a eliminar los caracteres no deseados, como los espacios en blanco, del principio y el final de las cadenas, haciendo que tus datos sean más coherentes y estén listos para el análisis.

En este tutorial, te guiaré a través de los tres métodos principales para recortar cadenas en Python: .strip(), .lstrip(), y .rstrip(), y cubriré casos de uso específicos para demostrar su versatilidad y utilidad en escenarios del mundo real.

3 Métodos para Recortar una Cadena en Python

Python proporciona métodos integrados para recortar cadenas, lo que facilita la limpieza y el preprocesamiento de datos textuales. Estos métodos incluyen

  • .strip(): Elimina los caracteres iniciales y finales (espacios en blanco por defecto).
  • .lstrip(): Elimina los caracteres iniciales (espacios en blanco por defecto) de la parte izquierda de la cadena.
  • .rstrip(): Elimina los caracteres finales (espacios en blanco por defecto) de la parte derecha de la cadena.

Comprender estos métodos permite manipular y preparar textos con eficacia, lo que es crucial para cualquier tarea de ciencia de datos que implique datos textuales.

1. Eliminar los espacios en blanco iniciales y finales de las cadenas en Python utilizando .strip()

El método .strip() está diseñado para eliminar los caracteres iniciales y finales de una cadena. Se utiliza sobre todo para eliminar espacios en blanco. He aquí un ejemplo, cuando se utiliza en la cadena " I love learning Python! ".

text = "   I love learning Python!   "
trimmed_text = text.strip()
print(trimmed_text)  # Output: "I love learning Python!"

Este método es especialmente útil para normalizar cadenas que pueden tener diferentes cantidades de espacios en blanco iniciales y finales.

2. Eliminar los espacios en blanco iniciales de las cadenas en Python utilizando .lstrip()

El método .lstrip() se dirige al lado izquierdo de una cadena, eliminando los caracteres iniciales. Por defecto, elimina los espacios en blanco, pero se le puede indicar que elimine caracteres específicos. Aquí tienes el método .lstrip() aplicado a la misma cadena " I love learning Python! " del ejemplo anterior:

text = "   I love learning Python!   "
left_trimmed_text = text.lstrip()
print(left_trimmed_text)  # Output: "I love learning Python!   "

.lstrip() es útil cuando necesitas limpiar cadenas que empiezan con espacios o caracteres no deseados, como en listas de nombres o datos categóricos.

3. Eliminar los espacios en blanco finales de las cadenas en Python utilizando .rstrip()

El método .rstrip() complementa a .lstrip() eliminando los caracteres finales de la parte derecha de una cadena. Comparte la flexibilidad de especificar qué caracteres eliminar. Aquí lo tienes aplicado al mismo ejemplo anterior:

text = "   I love learning Python!   "
right_trimmed_text = text.rstrip()
print(right_trimmed_text)  # Output: "   I love learning Python!"

Utiliza .rstrip() cuando trates con cadenas que tengan caracteres o espacios no deseados al final, como puntuación final o anotaciones.

Eliminar caracteres específicos de una cadena en Python

Los métodos de recorte de cadenas de Python te permiten especificar qué caracteres eliminar del principio y del final de las cadenas. Esta funcionalidad añade una capa de flexibilidad a los métodos .strip(), .lstrip(), y .rstrip(), permitiendo operaciones de limpieza de cadenas más específicas.

Sin embargo, como veremos en nuestros ejemplos, es importante reconocer las limitaciones inherentes a estos métodos: no son capaces de eliminar caracteres del centro de las cadenas ni de manejar eliminaciones más complejas basadas en patrones. Para necesidades tan avanzadas, las expresiones regulares (regex) proporcionan una solución más sólida.

Eliminar caracteres específicos de una cadena en Python utilizando .strip()

En primer lugar, empecemos con el método .strip(). El método .strip() puede personalizarse para eliminar no sólo los espacios en blanco, sino también caracteres específicos de ambos extremos de una cadena. He aquí un ejemplo:

text = "!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')
print(specific_char_trimmed)  # Output: "I love learning Python"

Imaginemos ahora que nuestra cadena es en realidad "xxxyyy I love learning Python xxxyyy". Dado que ”xxx” y ”yyy” están tanto al principio como al final de la cadena, es posible eliminar ambos especificando el carácter 'xy' como carácter a eliminar. ¡Aquí está en acción!

text = "xxxyyy I love learning Python xxxyyy"
specific_chars_trimmed = text.strip('xy')
print(specific_chars_trimmed)  # Output: " I love learning Python "

Como ya hemos dicho, es fundamental que entiendas que .strip() no puede eliminar caracteres del medio de la cadena. Por ejemplo, si el texto que estamos eliminando es "!!!I love learning!!! Python!!!"-el resultado de la operación anterior sería ”I love learning!!! Python”. Para operaciones de eliminación más complejas, es mejor consultar las expresiones regulares en lugar de los métodos de eliminación descritos en este tutorial.

Eliminar caracteres específicos de una cadena en Python utilizando .lstrip() y .rstrip()

Lo mismo puede aplicarse a los métodos .lstrip() y .rstrip(). A continuación se muestran ejemplos de eliminación de caracteres iniciales y finales específicos en .lstrip() y .rstrip(), respectivamente:

text = "!!!I love learning Python!!!"
left_char_trimmed = text.lstrip('!')
print(left_char_trimmed)  # Output: "I love learning Python!!!"
text = "!!!I love learning Python!!!"
right_char_trimmed = text.rstrip('!')
print(right_char_trimmed)  # Output: "!!!I love learning Python"

Además, la misma técnica de eliminación de caracteres múltiples puede aplicarse a .lstrip() y .rstrip()

text = "xxxyyy I love learning Python xxxyyy"
left_chars_trimmed = text.lstrip('xy')
print(left_chars_trimmed)  # Output: " I love learning Python xxxyyy"
text = "xxxyyy I love learning Python xxxyyy"
right_chars_trimmed = text.rstrip('xy')
print(right_chars_trimmed)  # Output: "xxxyyy I love learning Python"

Nuevos métodos de recorte de cadenas en Python 3.9

Python 3.9 introdujo str.removeprefix() y str.removesuffix(), que eliminan explícitamente prefijos o sufijos conocidos.

Eliminar un prefijo utilizando removeprefix()

text = "Python_is_fun"
trimmed_text = text.removeprefix("Python_")
print(trimmed_text)  # Output: "is_fun"

Eliminar un sufijo utilizando removesuffix()

text = "data_cleaning.csv"
trimmed_text = text.removesuffix(".csv")
print(trimmed_text)  # Output: "data_cleaning"

Consideraciones de rendimiento para recortar cuerdas

Cuando se trabaja con grandes conjuntos de datos, es importante recortar las cadenas de manera eficiente. .strip() .lstrip() y .rstrip() funcionan con una complejidad de tiempo O(n). Sin embargo, para conjuntos de datos masivos, utilizar operaciones vectorizadas en Pandas puede ser más eficiente:

import pandas as pd
df = pd.DataFrame({"text": ["  Data Science  ", "  Machine Learning  "]})
df["cleaned_text"] = df["text"].str.strip()
print(df)

Conclusión

Comprender el recorte y la manipulación de cadenas es esencial para una programación eficaz en Python. Mientras que los métodos .strip(), .lstrip() y .rstrip() satisfacen las necesidades básicas, para abordar situaciones más complejas puede ser necesario sumergirse en las expresiones regulares. Para seguir aprendiendo, considera la posibilidad de explorar nuestro tutorial sobre expresiones regulares, o mejor aún, iníciate en el Curso de Habilidades de Procesamiento del Lenguaje Natural en Python de DataCamp.

Aprende Python desde cero

Domina Python para la ciencia de datos y adquiere habilidades muy demandadas.
Empieza a aprender gratis

Adel Nehme's photo
Author
Adel Nehme
LinkedIn

Adel es educador de Ciencia de Datos, conferenciante y Evangelista en DataCamp, donde ha publicado varios cursos y formación en directo sobre análisis de datos, aprendizaje automático e ingeniería de datos. Le apasiona difundir las habilidades y la alfabetización en materia de datos en las organizaciones y en la intersección entre tecnología y sociedad. Tiene un máster en Ciencia de Datos y Análisis Empresarial. En su tiempo libre, puedes encontrarle pasando el rato con su gato Louis.

Preguntas frecuentes

¿Puedo utilizar .strip(), .lstrip() o .rstrip() para eliminar caracteres numéricos de una cadena?

Sí, puedes especificar caracteres numéricos como objetivo de la eliminación. Por ejemplo:

text = "12345Python12345"
trimmed_text = text.strip('12345')
print(trimmed_text)  # Output: "Python"

¿Cómo manejan .strip(), .lstrip() y .rstrip() las cadenas con caracteres de espacio en blanco mezclados, como tabuladores o nuevas líneas?

Por defecto, estos métodos eliminan todos los tipos de espacios en blanco, incluidos los espacios, los tabuladores(\t) y las nuevas líneas(\n). Por ejemplo:

text = "\t\n  Python Programming  \n\t"
trimmed_text = text.strip()
print(trimmed_text)  # Output: "Python Programming"

¿Qué ocurre si llamo a .strip(), .lstrip() o .rstrip() sobre una cadena vacía?

Si llamas a estos métodos con una cadena vacía, devuelven una cadena vacía sin errores. Por ejemplo:

text = ""
trimmed_text = text.strip()
print(trimmed_text)  # Output: ""
Temas

¡Sigue aprendiendo Python!

Programa

Python Data Fundamentals

28hrs hr
Grow your data skills, discover how to manipulate and visualize data, and apply advanced analytics to make data-driven decisions.
Ver detallesRight Arrow
Comienza el curso
Ver másRight Arrow
Relacionado

Tutorial

Tutorial de cadenas en Python

En este tutorial, aprenderás todo sobre las cadenas de Python: trocearlas y encadenarlas, manipularlas y darles formato con la clase Formatter, cadenas f, plantillas y ¡mucho más!
Sejal Jaiswal's photo

Sejal Jaiswal

10 min

Tutorial

Tutorial de Python String format()

Aprende a formatear cadenas en Python.
DataCamp Team's photo

DataCamp Team

5 min

Tutorial

Tutorial de Comparación de cadenas difusas en Python

En este tutorial, aprenderás a hacer coincidir aproximadamente cadenas y a determinar su similitud repasando varios ejemplos.
Kurtis Pykes 's photo

Kurtis Pykes

11 min

Tutorial

Formato f-string en Python

Conozca la técnica de formateo f-string en Python 3.6. En este tutorial, verá qué ventajas ofrece y repasará algunos casos de uso de ejemplo.
Hafeezul Kareem Shaik's photo

Hafeezul Kareem Shaik

5 min

Tutorial

Tutorial de funciones de Python

Un tutorial sobre funciones en Python que cubre cómo escribir funciones, cómo invocarlas y mucho más.
Karlijn Willems's photo

Karlijn Willems

14 min

Ver másVer más