Recortar texto es una tarea fundamental al 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 caracteres no deseados, como espacios en blanco, del principio y el final de las cadenas, lo que hace que tus datos sean más coherentes y estén listos para su 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) del lado izquierdo de la cadena.
.rstrip(): Elimina los caracteres finales (espacios en blanco por defecto) del lado derecho de la cadena.
Comprender estos métodos permite manipular y preparar textos de forma eficiente, lo cual es fundamental para cualquier tarea de ciencia de datos que implique datos textuales.
1. Eliminar espacios en blanco al principio y al final de cadenas en Python utilizando .strip()
El método .strip() está diseñado para eliminar los caracteres iniciales y finales de una cadena. Se utiliza más comúnmente para eliminar espacios en blanco. A continuación se muestra un ejemplo de su uso en la cadena " I love learning Python! ".
text =" I love learning Python! "
trimmed_text = text.strip()print(trimmed_text)# Output: "I love learning Python!"Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Este método es especialmente útil para estandarizar cadenas que pueden contener diferentes cantidades de espacios en blanco al principio y al final.
2. Eliminar espacios en blanco al principio de las cadenas en Python utilizando .lstrip()
El método .lstrip() se centra en la parte izquierda de una cadena y elimina los caracteres iniciales. De forma predeterminada, elimina los espacios en blanco, pero se puede configurar para que elimine caracteres específicos. Aquí se muestra 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! "Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
.lstrip() Es útil cuando necesitas limpiar cadenas que comienzan con espacios o caracteres no deseados, como en listas de nombres o datos categóricos.
3. Eliminar espacios en blanco al final 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í se aplica al mismo ejemplo anterior:
text =" I love learning Python! "
right_trimmed_text = text.rstrip()print(right_trimmed_text)# Output: " I love learning Python!"Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Utiliza .rstrip() cuando trabajes con cadenas que contengan caracteres no deseados o espacios al final, como signos de puntuación 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(), lo que permite 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 medio de las cadenas ni de gestionar eliminaciones más complejas basadas en patrones. Para necesidades tan avanzadas, las expresiones regulares (regex) ofrecen una solución más robusta.
Eliminar caracteres específicos de una cadena en Python utilizando .strip()
En primer lugar, comencemos con el método .strip(). El método .strip() se puede personalizar para eliminar no solo los espacios en blanco, sino también caracteres específicos de ambos extremos de una cadena. Aquí tienes un ejemplo:
text ="!!!I love learning Python!!!"
specific_char_trimmed = text.strip('!')print(specific_char_trimmed)# Output: "I love learning Python"Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Ahora imaginemos que nuestra cadena es en realidad "xxxyyy I love learning Python xxxyyy". Dado que ”xxx” y ”yyy” aparecen al principio y al final de la cadena, es posible eliminarlos especificando el carácter xy como el carácter que se debe eliminar. ¡Aquí lo tienes 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 "Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Como se mencionó anteriormente, es fundamental comprender 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 se puede aplicar a los métodos .lstrip() y .rstrip(). A continuación se muestran ejemplos de cómo eliminar 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!!!"
right_char_trimmed = text.rstrip('!')print(right_char_trimmed)# Output: "!!!I love learning Python"Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Además, la misma técnica de eliminación de varios caracteres se puede aplicar 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"
right_chars_trimmed = text.rstrip('xy')print(right_chars_trimmed)# Output: "xxxyyy I love learning Python"Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Consideraciones sobre el rendimiento al recortar cadenas
Cuando se trabaja con grandes conjuntos de datos, es importante recortar las cadenas de forma eficiente. .strip(), .lstrip() y .rstrip() funcionan con una complejidad temporal O(n). Sin embargo, para conjuntos de datos masivos, el uso de 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)Con la tecnología de
Editor «Aprender con ejemplos», pulsa Tab para entrar. Pulsa Escape y luego Tab o Mayús+Tab para salir.
Comprender el recorte y la manipulación de cadenas es esencial para programar eficazmente en Python. Si bien los métodos .strip(), .lstrip() y .rstrip() satisfacen las necesidades básicas, abordar escenarios más complejos puede requerir profundizar en las expresiones regulares. Para seguir aprendiendo, te recomendamos que explores nuestro tutorial sobre expresiones regulares o, mejor aún, que te inicies en el programa de habilidades de procesamiento del lenguaje natural en Python de DataCamp.
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 usar .strip(), .lstrip() o .rstrip() para eliminar caracteres numéricos de una cadena?⌄
Sí, puedes especificar caracteres numéricos como destino para la eliminación. Por ejemplo:
text ="12345Python12345"
trimmed_text = text.strip('12345')print(trimmed_text)# Output: "Python"Con la tecnología de
¿Cómo gestionan .strip(), .lstrip() y .rstrip() las cadenas con caracteres de espacio en blanco mixtos, como tabulaciones o saltos de línea?⌄
De forma predeterminada, estos métodos eliminan todos los tipos de espacios en blanco, incluidos los espacios, las tabulaciones (\t) y los saltos de línea (\n). Por ejemplo:
text ="\t\n Python Programming \n\t"
trimmed_text = text.strip()print(trimmed_text)# Output: "Python Programming"Con la tecnología de
¿Qué ocurre si llamas a .strip(), .lstrip() o .rstrip() en 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: ""Con la tecnología de
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!
Aprende a dividir listas de Python con técnicas como el corte, las comprensiones de listas y las herramientas iterativas. Descubre cuándo utilizar cada método para un manejo óptimo de los datos.
Desarrolla tus habilidades con los datos, descubre cómo manipularlos y visualizarlos, y aplica análisis avanzados para tomar decisiones basadas en datos.
Recortar texto es una tarea fundamental al 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 caracteres no deseados, como espacios en blanco, del principio y el final de las cadenas, lo que hace que tus datos sean más coherentes y estén listos para su 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) del lado izquierdo de la cadena..rstrip(): Elimina los caracteres finales (espacios en blanco por defecto) del lado derecho de la cadena.Comprender estos métodos permite manipular y preparar textos de forma eficiente, lo cual es fundamental para cualquier tarea de ciencia de datos que implique datos textuales.
1. Eliminar espacios en blanco al principio y al final de cadenas en Python utilizando
.strip()El método
.strip()está diseñado para eliminar los caracteres iniciales y finales de una cadena. Se utiliza más comúnmente para eliminar espacios en blanco. A continuación se muestra un ejemplo de su uso en la cadena" I love learning Python! ".Este método es especialmente útil para estandarizar cadenas que pueden contener diferentes cantidades de espacios en blanco al principio y al final.
2. Eliminar espacios en blanco al principio de las cadenas en Python utilizando
.lstrip()El método
.lstrip()se centra en la parte izquierda de una cadena y elimina los caracteres iniciales. De forma predeterminada, elimina los espacios en blanco, pero se puede configurar para que elimine caracteres específicos. Aquí se muestra el método .lstrip() aplicado a la misma cadena" I love learning Python! "del ejemplo anterior:.lstrip()Es útil cuando necesitas limpiar cadenas que comienzan con espacios o caracteres no deseados, como en listas de nombres o datos categóricos.3. Eliminar espacios en blanco al final 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í se aplica al mismo ejemplo anterior:Utiliza
.rstrip()cuando trabajes con cadenas que contengan caracteres no deseados o espacios al final, como signos de puntuación 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(), lo que permite 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 medio de las cadenas ni de gestionar eliminaciones más complejas basadas en patrones. Para necesidades tan avanzadas, las expresiones regulares (regex) ofrecen una solución más robusta.
Eliminar caracteres específicos de una cadena en Python utilizando
.strip()En primer lugar, comencemos con el método
.strip(). El método .strip() se puede personalizar para eliminar no solo los espacios en blanco, sino también caracteres específicos de ambos extremos de una cadena. Aquí tienes un ejemplo:Ahora imaginemos que nuestra cadena es en realidad
"xxxyyy I love learning Python xxxyyy". Dado que”xxx”y”yyy”aparecen al principio y al final de la cadena, es posible eliminarlos especificando el carácterxycomo el carácter que se debe eliminar. ¡Aquí lo tienes en acción!Como se mencionó anteriormente, es fundamental comprender 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 se puede aplicar a los métodos
.lstrip()y.rstrip(). A continuación se muestran ejemplos de cómo eliminar caracteres iniciales y finales específicos en.lstrip()y.rstrip(), respectivamente:Además, la misma técnica de eliminación de varios caracteres se puede aplicar a
.lstrip()y.rstrip()Nuevos métodos de recorte de cadenas en Python 3.9
Python 3.9 introdujo
str.removeprefix()ystr.removesuffix(), que eliminan explícitamente los prefijos o sufijos conocidos.Eliminar un prefijo utilizando
removeprefix()Eliminar un sufijo utilizando
removesuffix()Consideraciones sobre el rendimiento al recortar cadenas
Cuando se trabaja con grandes conjuntos de datos, es importante recortar las cadenas de forma eficiente.
.strip(),.lstrip()y.rstrip()funcionan con una complejidad temporal O(n). Sin embargo, para conjuntos de datos masivos, el uso de operaciones vectorizadas en Pandas puede ser más eficiente:Conclusión
Comprender el recorte y la manipulación de cadenas es esencial para programar eficazmente en Python. Si bien los métodos
.strip(),.lstrip()y.rstrip()satisfacen las necesidades básicas, abordar escenarios más complejos puede requerir profundizar en las expresiones regulares. Para seguir aprendiendo, te recomendamos que explores nuestro tutorial sobre expresiones regulares o, mejor aún, que te inicies en el programa de habilidades de procesamiento del lenguaje natural en Python de DataCamp.