Como usar str_extract em r (com exemplos)


A função str_extract() do pacote stringr em R pode ser usada para extrair padrões correspondentes em uma string.

Esta função usa a seguinte sintaxe:

 str_extract(string, pattern)

Ouro:

  • string: vetor de caracteres
  • padrão: padrão a ser extraído

Os exemplos a seguir mostram como usar esta função na prática.

Exemplo 1: Extraia um padrão de uma string

O código a seguir mostra como extrair a string “ther” de uma string específica em R:

 library (stringr)

#define string
some_string <- "Hey there my name is Doug"

#extract "ther" from string
str_extract(some_string, " ther ")

[1] “other”

O padrão “ther” foi extraído com sucesso da string.

Observe que se tentarmos extrair um padrão que não existe na string, simplesmente receberemos NA como resultado:

 library (stringr)

#define string
some_string <- "Hey there my name is Doug"

#attempt to extract "apple" from string
str_extract(some_string, " apple ")

[1] NA

Como o padrão “apple” não existia na string, um valor NA foi retornado.

Exemplo 2: Extraia valores numéricos de uma string

O código a seguir mostra como usar a expressão regular \\d+ para extrair apenas valores numéricos de uma string:

 library (stringr)

#define string
some_string <- "There are 350 apples over there"

#extract only numeric values from string
str_extract(some_string, " \\d+ ")

[1] "350"

Exemplo 3: Extraia caracteres de um vetor de strings

O código a seguir mostra como usar a expressão regular [az]+ para extrair apenas caracteres de um vetor de strings:

 library (stringr)

#define vector of strings
some_strings <- c("4 apples", "3 bananas", "7 oranges")

#extract only characters from each string in vector
str_extract(some_strings, “ [az]+ ”)

[1] “apples” “bananas” “oranges”

Observe que apenas os caracteres de cada string são retornados.

Recursos adicionais

Os tutoriais a seguir explicam como realizar outras tarefas comuns em R:

Como usar str_replace em R
Como usar str_split em R
Como usar str_detect em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *