Цель состоит в том, чтобы проанализировать регулярное выражение и заменить соответствующий шаблон.
Рассмотрим этот пример:
data <- c("cat 6kg","cat g250", "cat dog","cat 10 kg")
Мне нужно найти все вхождения cat
и числа [0-9]
. Сделать это:
found <- data[grepl("(^cat.[a-z][0-9])|(^cat.[0-9])",data)]
found
[1] "cat 6kg" "cat g250" "cat 10 kg"
Следующим шагом будет замена каждого элемента found
строкой cat
. Я попытался использовать gsub, sub и gsubfn() из пакета (gsubfn) в соответствии с вопросом Stack 20219311:
gsubfn("((^cat.[a-z][0-9])|(^cat.[0-9]))", "cat",data)
[1] "catkg" "cat50" "cat dog" "cat0 kg"
который НЕ является ожидаемым результатом:
[#] "cat" "cat" "cat dog" "cat"
Я думаю, что упускаю момент. Я был бы признателен за любую помощь, которую я мог бы получить. Спасибо.