Pular para o conteúdo principal

Usando expressões regulares para limpar strings

Este tutorial traz conteúdos do curso Cleaning Data in Python da DataCamp e mostra como limpar strings usando expressões regulares.
· 4 min leer

Explore com IA

Se você quer fazer nosso curso gratuito Intro to R, aqui está o link.

Extraindo valores numéricos de strings

Extrair números de strings é uma tarefa comum, principalmente ao trabalhar com dados não estruturados ou arquivos de log.

Suponha que você tenha a seguinte string: 'the recipe calls for 6 strawberries and 2 bananas'.

Seria útil extrair o 6 e o 2 dessa string para usar depois ao comparar a proporção de morangos para bananas.

Ao usar uma expressão regular para extrair vários números (ou, mais precisamente, vários matches do padrão), você pode usar a função re.findall(). O Dan não falou disso no vídeo, mas é simples de usar: você passa um padrão e uma string para re.findall(), e ela retorna uma lista com os matches.

Instruções

  • Importe re.
  • Escreva um padrão que encontre todos os números na seguinte string: 'the recipe calls for 10 strawberries and 1 banana'. Para isso:
    • Use a função re.findall() e passe dois argumentos: o padrão, seguido da string.
    • \d é o padrão para encontrar dígitos. Coloque um + em seguida para casar o elemento anterior uma ou mais vezes. Isso garante que 10 seja visto como um único número, e não como 1 e 0.
  • Imprima os matches para confirmar que sua expressão regular encontrou os valores 10 e 1.

         # Importe o módulo de expressões regulares
         ____

         # Encontre os valores numéricos: matches
         matches = re.findall('____', '____')

         # Imprima os matches
         print(____)

         

Se ficou claro, siga para o próximo exercício! Se não, aqui vai um vídeo de visão geral.

Vídeo de visão geral sobre como usar expressões regulares para limpar strings em Python

Casamento de padrões

Neste exercício, você vai continuar praticando suas habilidades com expressões regulares. Para cada string fornecida, sua tarefa é escrever o padrão apropriado para casá-la.

Instruções

  • Escreva padrões para casar:
    • Um número de telefone no formato xxx-xxx-xxxx. Você já fez isso em um exercício anterior.
    • Uma string no formato: um cifrão, um número arbitrário de dígitos, um ponto decimal, 2 dígitos.
      • Use \$ para casar o cifrão, \d* para casar um número arbitrário de dígitos, \. para casar o ponto decimal e \d{x} para casar x dígitos.
  • Uma letra maiúscula seguida por um número arbitrário de caracteres alfanuméricos.
    • Use [A-Z] para casar qualquer letra maiúscula seguida de \w* para casar um número arbitrário de caracteres alfanuméricos.

          # Escreva o primeiro padrão
          pattern1 = bool(re.match(pattern='____', string='123-456-7890'))
          print(pattern1)

          # Escreva o segundo padrão
          pattern2 = bool(re.match(pattern='____', string='$123.45'))
          print(pattern2)

          # Escreva o terceiro padrão
          pattern3 = bool(re.match(pattern='____', string='Australia'))
          print(pattern3)
          

Se quiser aprender mais com este curso, aqui está o link.

Confira o Python String Tutorial da DataCamp.

Temas

Relacionado

Tutorial

Tutorial de strings em Python