A: hoe u kunt controleren of het teken in een string staat
U kunt de volgende methoden gebruiken om te controleren of een teken in een string in R voorkomt:
Methode 1: Controleer of het teken in een string staat met behulp van Base R
grepl(my_character, my_string, fixed= TRUE )
Methode 2: Controleer of het teken in een string staat met behulp van het stringr-pakket
library (stringr)
str_detect(my_string, my_character)
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld 1: Controleer of het teken in een string staat met behulp van Base R
De volgende code laat zien hoe u kunt controleren of „Doug“ voorkomt in een bepaalde tekenreeks in 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
Omdat “Doug” in de string voorkomt, retourneert de functie grepl() TRU E .
Stel dat we in plaats daarvan controleren of “Steve” in de string voorkomt:
#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
Omdat „Steve“ niet voorkomt in de string, retourneert de functie grepl() FALSE .
Voorbeeld 2: Controleer of het teken in een string voorkomt met behulp van het stringr-pakket
De volgende code laat zien hoe u de functie str_detect() van het stringr- pakket kunt gebruiken om te controleren of de tekenreeks „Doug“ in een bepaalde tekenreeks voorkomt:
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
De functie str_detect() retourneert TRUE omdat „Doug“ in de string staat.
Merk op dat we ook de volgende syntaxis kunnen gebruiken om te controleren of er meerdere tekens in de tekenreeks voorkomen:
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
Uit het resultaat kunnen we zien:
- “Doug” bestaat in de keten.
- “Steve” bestaat niet in het kanaal.
- “naam” bestaat in de string.
- “It” bestaat in de string.
Gerelateerd: Hoe de str_detect()-functie in R te gebruiken (3 voorbeelden)
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in R kunt uitvoeren:
Hoe het laatste teken uit de string in R te verwijderen
Hoe de tekenlocatie in een string in R te vinden
Hoe u kolommen selecteert die een specifieke tekenreeks bevatten in R