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