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(____)
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.
# 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)
Si quieres aprender más con este curso, aquí tienes el enlace.
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!
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.
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
6y el2de 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 are.findall()y devuelve una lista con las coincidencias.Instrucciones
re.'the recipe calls for 10 strawberries and 1 banana'. Para ello:re.findall()y pásale dos argumentos: primero el patrón y después la cadena.\des 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 que10se considere un único número y no1y0por separado.10y1.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
xxx-xxx-xxxx. Ya lo hiciste en un ejercicio anterior.\$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 conxdígitos.[A-Z]para cualquier letra mayúscula seguido de\w*para un número arbitrario de caracteres alfanuméricos.Si quieres aprender más con este curso, aquí tienes el enlace.
Echa un vistazo al Python String Tutorial de DataCamp.