Saltar al contenido principal
InicioTutorialesPython

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

Aprenda los fundamentos del recorte de caracteres iniciales y finales de una cadena en Python.
may 2024  · 5 min leer

El recorte de texto es una tarea fundamental a la hora de manejar 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, para que los datos sean más coherentes y estén listos para el análisis.

Este tutorial le guiará a través de 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 ofrece 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 de forma eficaz, lo que resulta crucial para cualquier tarea de ciencia de datos que implique datos textuales.

Eliminación de espacios en blanco iniciales y finales de cadenas en Python con .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. A continuación se muestra 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 contener diferentes cantidades de espacios en blanco iniciales y finales.

Eliminación de espacios en blanco iniciales de cadenas en Python con .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. He aquí 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 necesita limpiar cadenas que empiezan con espacios o caracteres no deseados, como en listas de nombres o datos categóricos.

Eliminación de espacios en blanco al final de cadenas en Python con .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!"

Utilice .rstrip() cuando trabaje con cadenas que contengan caracteres o espacios no deseados al final, como signos de puntuación o anotaciones.

Eliminación de caracteres específicos de una cadena en Python

Los métodos de recorte de cadenas de Python permiten especificar qué caracteres eliminar del principio y el 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 de estos métodos: no son capaces de eliminar caracteres del medio de las cadenas ni de manejar eliminaciones más complejas basadas en patrones. Para necesidades tan avanzadas, las expresiones regulares (regex) ofrecen una solución más sólida.

Eliminación de caracteres específicos de una cadena en Python usando .strip()

En primer lugar, empecemos por 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” se encuentran tanto al principio como al final de la cadena, es posible eliminar ambos caracteres 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 se ha mencionado, es fundamental comprender que .strip() no puede eliminar caracteres de la mitad 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.

Eliminación de caracteres específicos de una cadena en Python usando .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"

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 escenarios más complejos puede ser necesario sumergirse en las expresiones regulares. Para aprender más, considere explorar nuestro tutorial sobre expresiones regulares, o mejor aún, empiece con el curso de DataCamp sobre Procesamiento del Lenguaje Natural en Python.

Temas

Sigue aprendiendo Python

Track

Python Data Fundamentals

15hrs hr
Grow your data skills, discover how to manipulate dictionaries and DataFrames, visualize real-world data, and write your own Python functions.
See DetailsRight Arrow
Start Course
Ver másRight Arrow
Relacionado

tutorial

Tutorial de Python String format()

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

DataCamp Team

5 min

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

16 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 list index() de Python

En este tutorial, aprenderás exclusivamente sobre la función index().
Sejal Jaiswal's photo

Sejal Jaiswal

6 min

tutorial

Impresión Python sin nueva línea: Lo que debes saber

Controla la salida de impresión de Python para evitar nuevas líneas automáticas. Aprende a anular el comportamiento predeterminado de la nueva línea utilizando el parámetro fin, el módulo sys y la concatenación de cadenas.
Allan Ouko's photo

Allan Ouko

7 min

See MoreSee More