Ir al contenido principal

Usar expresiones regulares para limpiar cadenas

Este tutorial toma material del curso Cleaning Data in Python de DataCamp y te enseña a limpiar cadenas con expresiones regulares.
Actualizado 17 sept 2026  · 4 min leer

Explorar con IA

ChatGPTClaudePerplexity

Si quieres hacer nuestro curso gratuito de introducción a R, aquí tienes el enlace.

Extraer valores numéricos de cadenas

Extraer números de cadenas es una tarea habitual, sobre todo cuando trabajas con datos no estructurados o archivos de registro.

Imagina que tienes la siguiente cadena: 'the recipe calls for 6 strawberries and 2 bananas'.

Sería útil extraer el 6 y el 2 de esta cadena para guardarlos y después comparar la proporción de fresas y plátanos.

Cuando uses una expresión regular para extraer varios números (o, más exactamente, varias coincidencias de patrón), puedes recurrir a la función re.findall(). Dan no la trató en el vídeo, pero es fácil de usar: pasas un patrón y una cadena a re.findall() y devuelve una lista con las coincidencias.

Instrucciones

  • Importa re.
  • Escribe un patrón que encuentre todos los números en la siguiente cadena: 'the recipe calls for 10 strawberries and 1 banana'. Para ello:
    • Usa la función re.findall() y pásale dos argumentos: primero el patrón y después la cadena.
    • \d es el patrón para encontrar dígitos. Debe ir seguido de un + para que el elemento anterior coincida una o más veces. Así te aseguras de que 10 se considere un único número y no 1 y 0 por separado.
  • Imprime las coincidencias para confirmar que tu expresión regular encontró los valores 10 y 1.
# Import the regular expression module ____ # Find the numeric values: matches matches = re.findall('____', '____') # Print the matches print(____) # Import the regular expression module import re # Find the numeric values: matches matches = re.findall('\d+', 'the recipe calls for 10 strawberries and 1 banana') # Print the matches print(matches) Ex().test_import('re') Ex().test_correct(test_object('matches'), test_function('re.findall')) Ex().test_function('print') success_msg('Excellent work - your regular expression successfully extracted the numeric values 10 and 1 from the string!')
  • Usa el comando import x para importar el módulo x.
  • El primer argumento de re.findall() debe ser \d+ y el segundo la cadena: 'the recipe calls for 10 strawberries and 1 banana'.
  • Usa la función print() para imprimir matches.

Si esto te ha quedado claro, sigue con el siguiente ejercicio. Si no, aquí tienes un vídeo de resumen.

Vídeo general sobre cómo usar expresiones regulares para limpiar cadenas en Python

Búsqueda de patrones

En este ejercicio seguirás practicando con expresiones regulares. Para cada cadena proporcionada, tu tarea es escribir el patrón adecuado para que coincida.

Instrucciones

  • Escribe patrones para que coincidan con:
    • Un número de teléfono con el formato xxx-xxx-xxxx. Ya lo hiciste en un ejercicio anterior.
    • Una cadena con el formato: un símbolo de dólar, un número arbitrario de dígitos, un punto decimal y 2 dígitos.
      • Usa \$ para el símbolo del dólar, \d* para un número arbitrario de dígitos, \. para el punto decimal y \d{x} para que coincida con x dígitos.
  • Una letra mayúscula seguida de un número arbitrario de caracteres alfanuméricos.
    • Usa [A-Z] para cualquier letra mayúscula seguido de \w* para un número arbitrario de caracteres alfanuméricos.
import re # Write the first pattern pattern1 = bool(re.match(pattern='____', string='123-456-7890')) print(pattern1) # Write the second pattern pattern2 = bool(re.match(pattern='____', string='$123.45')) print(pattern2) # Write the third pattern pattern3 = bool(re.match(pattern='____', string='Australia')) print(pattern3) # Write the first pattern pattern1 = bool(re.match(pattern='\d{3}-\d{3}-\d{4}', string='123-456-7890')) print(pattern1) # Write the second pattern pattern2 = bool(re.match(pattern='\$\d*\.\d{2}', string='$123.45')) print(pattern2) # Write the third pattern pattern3 = bool(re.match(pattern='[A-Z]\w*', string='Australia')) print(pattern3) Ex().test_correct(test_object('pattern1'), test_function('re.match', index=1)) Ex().test_function('print', index=1) Ex().test_correct(test_object('pattern2'), test_function('re.match', index=2)) Ex().test_function('print', index=2) Ex().test_correct(test_object('pattern3'), test_function('re.match', index=3)) Ex().test_function('print', index=3) success_msg("Great work! You're mastering the fundamentals of writing regular expressions!")
  • Hay tres componentes en el primer patrón con el que tu expresión regular debe coincidir: xxx, xxx y xxxx. Los dos primeros se corresponden con \d{3}, mientras que el último se corresponde con \d{4}. Cada componente debe estar separado por un -.

Si quieres aprender más con este curso, aquí tienes el enlace.

Echa un vistazo al Python String Tutorial de DataCamp.

Temas
Python
Ciencia de datos

Aprende más sobre Python

Curso

Expresiones regulares en Python

4 h
49.7K
Aprende a manipular cadenas y conviértete en un maestro en el uso de expresiones regulares.
Ver detallesRight Arrow
Iniciar Curso
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

10 min

Tutorial

Tutorial sobre cómo concatenar cadenas en Python

Aprende varios métodos para concatenar cadenas en Python, con ejemplos que ilustran cada técnica.
DataCamp Team's photo

DataCamp Team

5 min

Tutorial

Tutorial sobre coincidencia difusa de cadenas en Python

En este tutorial, aprenderás a comparar cadenas de forma aproximada y a determinar su grado de similitud mediante varios ejemplos.
Kurtis Pykes 's photo

Kurtis Pykes

11 min

Tutorial

Guía de expresiones regulares en R

Explore las expresiones regulares en R, por qué son importantes, las herramientas y funciones para trabajar con ellas, patrones regex comunes y cómo utilizarlos.
Elena Kosourova's photo

Elena Kosourova

12 min

Tutorial

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

Aprende los fundamentos para recortar caracteres iniciales y finales de una cadena en Python.
Adel Nehme's photo

Adel Nehme

6 min

Ver MásVer Más