2015-03-15 3 views

ответ

1

Оператор группировки в регулярном выражении АиР позволит удаление непредставленных символов «ПЭС»:

gsub("(.*)(PES)(.*)", "\\2", c("PES+PWA+PWH", "something else")) 
#[1] "PES"   "something else" 

Описание проблемы было не очень понятно поскольку другой респондент nterpreted ваш запрос очень differntly

+0

Это в два раза медленнее ('system.time'), так как используется grep –

+0

Я не удивлен. Перспектива для вашего ответа - моя. Я думал, что это было более прямым. –

+0

Привет, что делать, если я не хочу PES, но хочу остальное содержимое? – VASISTA

1
text <- c("hello", "PES+PWA+PWH", "world") 
text[grepl("PES", text)] <- "PES" 
# "hello" "PES" "world" 
0

Из вашего вопроса выше я предположил, что вы имели в виду, что хотите иметь только те строки, которые содержат PES?

Вы можете использовать функцию Grep в R для этого

column<-c("PES-PSA","PES","PWS","PWA","PES+PWA+PWH") 
column[grep("PES",column)] 
[1] "PES-PSA"  "PES"   "PES+PWA+PWH" 

Grep берет строку, чтобы соответствовать в качестве первого аргумента и вектора вы хотите, чтобы соответствовать в качестве второго.

Смежные вопросы