Comment extraire une chaîne après un caractère spécifique dans R



Vous pouvez utiliser les méthodes suivantes pour extraire une chaîne après un caractère spécifique dans R :

Méthode 1 : extraire la chaîne après des caractères spécifiques à l’aide de Base R

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

Méthode 2 : extraire la chaîne après des caractères spécifiques à l’aide de stringr

library(stringr)

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

Ces deux exemples extraient la chaîne après le modèle « the » dans my_string .

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le bloc de données suivant :

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

#view data frame
df

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

Exemple 1 : Extraire une chaîne après des caractères spécifiques à l’aide de Base R

Le code suivant montre comment extraire la chaîne après « le » pour chaque ligne de la colonne d’équipe du bloc de données :

#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

Notez que la nouvelle colonne appelée team_name contient la chaîne après « le » pour chaque ligne de la colonne équipe du bloc de données.

Connexe : Une introduction à sub() dans R

Exemple 2 : Extraire une chaîne après des caractères spécifiques à l’aide du package stringr

Le code suivant montre comment extraire la chaîne après « le » pour chaque ligne de la colonne team du bloc de données en utilisant la fonction str_replace() du package stringr dans 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 team Mavs pro    114      Mavs
2 team Heat pro    135      Heat
3 team Nets pro    119      Nets

Notez que la nouvelle colonne appelée team_name contient la chaîne après « le » pour chaque ligne de la colonne équipe du bloc de données.

Cela correspond aux résultats de l’utilisation de la fonction sub() en base R.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :

Comment sélectionner des colonnes contenant une chaîne spécifique dans R
Comment supprimer des caractères d’une chaîne dans R
Comment trouver l’emplacement du caractère dans une chaîne dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *