Odp.: jak sprawdzić, czy znak znajduje się w ciągu znaków


Aby sprawdzić, czy znak znajduje się w ciągu znaków w R, możesz użyć następujących metod:

Metoda 1: Sprawdź, czy znak znajduje się w ciągu, używając Base R

 grepl(my_character, my_string, fixed= TRUE )

Metoda 2: Sprawdź, czy znak znajduje się w ciągu znaków, używając pakietu stringr

 library (stringr) 

str_detect(my_string, my_character)

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.

Przykład 1: Sprawdź, czy znak znajduje się w ciągu, używając Base R

Poniższy kod pokazuje, jak sprawdzić, czy „Doug” istnieje w określonym ciągu w 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

Ponieważ w ciągu istnieje słowo „Doug”, funkcja grepl() zwraca TRU E.

Załóżmy, że zamiast tego sprawdzimy, czy w ciągu istnieje słowo „Steve”:

 #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

Ponieważ w ciągu nie ma słowa „Steve”, funkcja grepl() zwraca FAŁSZ .

Przykład 2: Sprawdź, czy znak znajduje się w ciągu znaków, używając pakietu stringr

Poniższy kod pokazuje, jak używać funkcji str_detect() pakietu stringr do sprawdzania, czy ciąg „Doug” istnieje w określonym ciągu:

 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

Funkcja str_detect() zwraca PRAWDA , ponieważ w ciągu znaków znajduje się „Doug”.

Zauważ, że możemy również użyć następującej składni, aby sprawdzić, czy w ciągu znaków występuje wiele znaków:

 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

Z wyniku możemy zobaczyć:

  • „Doug” istnieje w łańcuchu.
  • „Steve” nie istnieje na kanale.
  • „Nazwa” istnieje w ciągu.
  • „To” istnieje w ciągu.

Powiązane: Jak używać funkcji str_detect() w R (3 przykłady)

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w języku R:

Jak usunąć ostatni znak z łańcucha w R
Jak znaleźć lokalizację znaku w ciągu w R
Jak wybrać kolumny zawierające określony ciąg w R

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *