# R подмножество только одного или двух символов ПЕРЕД шаблоном по отдельности? - PullRequest
1 голос
/ 26 мая 2020

Я хотел бы выделить одно или два слова перед шаблоном из столбца, используя повторные совпадения и gregexpr или sub.

state<-regmatches(data[,2], gregexpr(???  , data[,2])) # California
type<-regmatches(data[,2], gregexpr( ??? , data[,2])) # Valencia

Это пример предложения, и мне не удалось выделить предыдущие слова по отдельности.

1 Ответ

1 голос
/ 26 мая 2020

Мы можем использовать поиск по регулярному выражению для извлечения слова (\\w+) перед пробелом (\\s*) и «оранжевой» подстроки.

regmatches(sample, regexpr("(\\w+)(?=\\s*[Oo]range)", sample, perl = TRUE))
#[1] "Valencia"

Во втором случае измените поиск, чтобы включить слово и пробел перед "апельсином"

regmatches(sample, regexpr("(\\w+)(?=\\s*\\w+\\s*[Oo]range)", sample, perl = TRUE))
#[1] "California"
...