IniziaInizia gratis

grepl & grep (2)

Puoi usare il simbolo di accento circonflesso ^ e il simbolo del dollaro $ per trovare rispettivamente l'inizio e la fine di una stringa. Questo ci può avvicinare a un pattern corretto per individuare solo gli indirizzi email ".edu" dal nostro elenco. Ma possiamo aggiungere altro per rendere il pattern più robusto:

  • @, perché un'email valida deve contenere la chiocciola.
  • .*, che corrisponde a qualsiasi carattere (.) zero o più volte (*). Sia il punto sia l'asterisco sono metacaratteri. Puoi usarli per far combaciare qualsiasi carattere tra la chiocciola e la parte ".edu" dell'indirizzo email.
  • \\.edu$, per far corrispondere la parte ".edu" dell'email alla fine della stringa. La parte \\ fa l'escape del punto: dice a R che vuoi usare . come carattere letterale.

Questo esercizio fa parte del corso

R intermedio

Visualizza il corso

Istruzioni dell'esercizio

  • Usa grepl() con l'espressione regolare più avanzata per restituire un vettore logico. Limìtati a stampare il risultato.
  • Fai qualcosa di simile con grep() per creare un vettore di indici. Salva il risultato nella variabile hits.
  • Usa di nuovo emails[hits] per sotto-selezionare il vettore emails.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# The emails vector has already been defined for you
emails <- c("[email protected]", "[email protected]", "[email protected]",
            "invalid.edu", "[email protected]", "[email protected]")

# Use grepl() to match for .edu addresses more robustly


# Use grep() to match for .edu addresses more robustly, save result to hits


# Subset emails using hits
Modifica ed esegui il codice