Як використовувати str_extract у r (з прикладами)


Функцію 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] “other”

Візерунок “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, “ [az]+ ”)

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

Зверніть увагу, що повертаються лише символи з кожного рядка.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в R:

Як використовувати str_replace у R
Як використовувати str_split у R
Як використовувати str_detect у R

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *