Используйте регулярное выражение в R, чтобы удалить все символы в строке, кроме указанных слов - PullRequest
2 голосов
/ 18 апреля 2019

Используя язык программирования R, я хочу использовать функцию gsub для удаления всех символов, кроме двух или трех указанных слов.

Я пробовал несколько методов, используя просмотр, \\ bMyWord \\ b и символ вставки ^.

gsub("fbnmobile.*", "" , "fbnmobile akinremi temitope akinfemi gotvnspectran fbn akinremi temitope a and akinsanya arinola o ")

желаемый вывод:

"fbnmobile gotvnspectran fbn"

Мне нужен такой шаблон, чтобы я мог добавлять или удалять целые слова, которые должны быть исключены при каждом удалениивсе остальные персонажи.В этом случае я бы хотел удалить все символы, кроме слов "fbnmobile", "gotvnspectran" и "fbn".

Кроме того, я с радостью приму рекомендацию для окончательного руководства по регулярным выражениям для R.

1 Ответ

3 голосов
/ 18 апреля 2019

Может быть проще извлечь. Укажите шаблон слов для извлечения с помощью ИЛИ (|) в str_extract_all из stringr и затем paste извлеченных слов в одну строку

library(stringr)
paste(str_extract_all(str1, "\\b(fbnmobile|gotvnspectran|fbn)\\b")[[1]], collapse=" ")
#[1] "fbnmobile gotvnspectran fbn"

Или используя gsub

gsub("\\s{2,}", " ", trimws(gsub("\\b(fbnmobile|gotvnspectran|fbn)\\b(*SKIP)(*F)|\\w+", "", str1, perl = TRUE)))
#[1] "fbnmobile gotvnspectran fbn"

даа

str1 <- "fbnmobile akinremi temitope akinfemi gotvnspectran fbn akinremi temitope a and akinsanya arinola o "
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...