Come estrarre una stringa dopo un carattere specifico in r


È possibile utilizzare i seguenti metodi per estrarre una stringa dopo un carattere specifico in R:

Metodo 1: estrae la stringa dopo caratteri specifici utilizzando Base R

 sub(' .*the ', '', my_string)

Metodo 2: estrae la stringa dopo caratteri specifici utilizzando stringr

 library (stringr)

str_replace(my_string, ' (.*?)the(.*?) ', ' \\1 ')

Entrambi questi esempi estraggono la stringa dopo il modello “the” in my_string .

I seguenti esempi mostrano come utilizzare ciascun metodo nella pratica con il seguente frame di dati:

 #create data frame
df <- data. frame (team=c('theMavs', 'theHeat', 'theNets', 'theRockets'),
                 dots=c(114, 135, 119, 140))

#view data frame
df

        team points
1 theMavs 114
2 theHeat 135
3 theNets 119
4 theRockets 140

Esempio 1: estrai una stringa dopo caratteri specifici utilizzando Base R

Il codice seguente mostra come estrarre la stringa dopo “the” per ogni riga nella colonna team del frame di dati:

 #create new column that extracts string after "the" in team column
df$team_name <- sub(' .*the ', '', df$team)

#view updated data frame
df

        team points team_name
1 theMavs 114 Mavs
2 theHeat 135 Heat
3 theNets 119 Nets
4 theRockets 140 Rockets

Tieni presente che la nuova colonna chiamata team_name contiene la stringa dopo “the” per ogni riga nella colonna team nel data frame.

Correlati : un’introduzione a sub() in R

Esempio 2: estrarre una stringa dopo caratteri specifici utilizzando il pacchetto stringr

Il codice seguente mostra come estrarre la stringa dopo “the” per ogni riga nella colonna team del frame di dati utilizzando la funzione str_replace() dal pacchetto stringr in R:

 library (stringr)

#create new column that extracts string after "the" in team column
df$team_name <- str_replace(df$team, ' (.*?)the(.*?)', '\\1 ')

#view updated data frame
df

           team points team_name
1 Mavs pro team 114 Mavs
2 team Heat pro 135 Heat
3 Nets pro team 119 Nets

Tieni presente che la nuova colonna chiamata team_name contiene la stringa dopo “the” per ogni riga nella colonna team nel data frame.

Ciò corrisponde ai risultati dell’utilizzo della funzione sub() in base R.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in R:

Come selezionare colonne contenenti una stringa specifica in R
Come rimuovere caratteri da una stringa in R
Come trovare la posizione del carattere in una stringa in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *