Функцию str_extract() из пакета stringr в R можно использовать для извлечения совпадающих шаблонов в строке.
Эта функция использует следующий синтаксис:
str_extract(string, pattern)
куда:
- строка: вектор символов
- шаблон: Шаблон для извлечения
В следующих примерах показано, как использовать эту функцию на практике.
Пример 1. Извлечение одного шаблона из строки
В следующем коде показано, как извлечь строку «ther» из определенной строки в R:
library (stringr)
#define string
some_string <- "Hey there my name is Doug"
#extract "ther" from string
str_extract(some_string, " ther ")
[1] "ther"
Образец «ther» был успешно извлечен из строки.
Обратите внимание, что если мы попытаемся извлечь некоторый шаблон, которого нет в строке, мы просто получим в результате NA :
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
Поскольку шаблона «яблоко» в строке не было, было возвращено значение NA .
Пример 2. Извлечение числовых значений из строки
В следующем коде показано, как использовать регулярное выражение \d+ для извлечения из строки только числовых значений:
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"
Пример 3: извлечение символов из вектора строк
В следующем коде показано, как использовать регулярное выражение [az]+ для извлечения только символов из вектора строк:
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, " [a-z]+ ")
[1] "apples" "bananas" "oranges"
Обратите внимание, что возвращаются только символы из каждой строки.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как использовать str_replace в R
Как использовать str_split в R
Как использовать str_detect в R