R : Comment utiliser strsplit() avec plusieurs délimiteurs
Vous pouvez utiliser la syntaxe de base suivante avec la fonction strsplit() dans R pour diviser une chaîne en morceaux basés sur plusieurs délimiteurs :
strsplit(my_string , '[,& ]+')
Cet exemple particulier divise la chaîne appelée my_string chaque fois qu’elle rencontre l’un des trois délimiteurs suivants :
- Une virgule ( , )
- Une esperluette ( & )
- Un espace
Notez que les caractères entre parenthèses indiquent les délimiteurs à rechercher et le signe + indique qu’il peut y avoir plusieurs délimiteurs dans une rangée (par exemple, il peut y avoir plusieurs espaces dans une rangée).
L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.
Exemple : utilisez strsplit() avec plusieurs délimiteurs dans R
Supposons que nous ayons la chaîne suivante dans R :
#create string
my_string <- 'this is a, string & with seven words'
Si nous utilisons la fonction strsplit() pour diviser la chaîne chaque fois qu’un espace est rencontré, cela produira le résultat suivant :
#split string based on spaces
strsplit(my_string , ' ')
[[1]]
[1] "this" "is" "a," "string" "&" "with" "" ""
[9] "seven" "words"
La fonction strsplit() divise la chaîne chaque fois qu’un espace est rencontré, mais elle est incapable de gérer les virgules, l’esperluette et plusieurs espaces.
Pour diviser la chaîne en fonction de chacun de ces délimiteurs, nous pouvons utiliser la syntaxe suivante :
#split string based on multiple delimiters
strsplit(my_string , '[,& ]+')
[[1]]
[1] "this" "is" "a" "string" "with" "seven" "words"
Cette fonction est capable de diviser la chaîne en fonction de trois délimiteurs différents et renvoie correctement uniquement les mots de la chaîne qui nous intéressent.
Notez que dans cet exemple, nous avons inclus trois délimiteurs entre crochets dans la fonction strsplit() mais vous pouvez spécifier autant de délimiteurs que vous le souhaitez.
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes à l’aide de dplyr :
Comment utiliser la fonction strsplit() dans R pour diviser des éléments de chaîne
Comment diviser une chaîne de caractères et obtenir le premier élément dans R
Comment compter les mots dans une chaîne en R