R : Comment vérifier si le caractère est dans une chaîne
Vous pouvez utiliser les méthodes suivantes pour vérifier si un caractère se trouve dans une chaîne dans R :
Méthode 1 : vérifier si le caractère est dans une chaîne à l’aide de Base R
grepl(my_character, my_string, fixed=TRUE)
Méthode 2 : vérifier si le caractère est dans la chaîne à l’aide du package stringr
library(stringr)
str_detect(my_string, my_character)
Les exemples suivants montrent comment utiliser chaque méthode dans la pratique.
Exemple 1 : Vérifier si le caractère est dans une chaîne en utilisant Base R
Le code suivant montre comment vérifier si « Doug » existe dans une chaîne particulière dans R :
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
grepl(my_character, my_string, fixed=TRUE)
[1] TRUE
Puisque « Doug » existe dans la chaîne, la fonction grepl() renvoie TRU E .
Supposons que nous vérifiions plutôt si « Steve » existe dans la chaîne :
#define character to look for
my_character <- "Steve"
#define string
my_string <- "Hey my name is Douglas"
#check if "Steve" is in string
grepl(my_character, my_string, fixed=TRUE)
[1] FALSE
Puisque « Steve » n’existe pas dans la chaîne, la fonction grepl() renvoie FALSE .
Exemple 2 : Vérifiez si le caractère est dans une chaîne à l’aide du package stringr
Le code suivant montre comment utiliser la fonction str_detect() du package stringr pour vérifier si la chaîne « Doug » existe dans une chaîne particulière :
library(stringr)
#define character to look for
my_character <- "Doug"
#define string
my_string <- "Hey my name is Douglas"
#check if "Doug" is in string
str_detect(my_string, my_character)
[1] TRUE
La fonction str_detect() renvoie TRUE puisque « Doug » est dans la chaîne.
Notez que nous pouvons également utiliser la syntaxe suivante pour vérifier si plusieurs caractères existent dans la chaîne :
library(stringr)
#define vector of characters to look for
my_characters <- c("Doug", "Steve", "name", "He")
#define string
my_string <- "Hey my name is Douglas"
#check if each character is in string
str_detect(my_string, my_characters)
[1] TRUE FALSE TRUE TRUE
À partir du résultat, nous pouvons voir :
- « Doug » existe dans la chaîne.
- « Steve » n’existe pas dans la chaîne.
- « nom » existe dans la chaîne.
- « Il » existe dans la chaîne.
Connexe : Comment utiliser la fonction str_detect() dans R (3 exemples)
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans R :
Comment supprimer le dernier caractère de la chaîne dans R
Comment trouver l’emplacement du caractère dans une chaîne dans R
Comment sélectionner des colonnes contenant une chaîne spécifique dans R