У меня есть список строк в R, который выглядит следующим образом:
amor amores enamorado enamorar
Я хочу заменить словом amor все строки, которые начинаются и содержат эту букву , результат должен выглядеть следующим образом:
amor amor enamorado enamorar
Важно отметить, что слово enamorado содержит букву amor. Я пытаюсь сделать это с:
data$word<-gsub("amor.*", "amor", data$word)
, но результат равен
amor amor enamor enamor
Добавьте ^, чтобы указать начало вашего строкового шаблона.
^
vec <- c("amor", "amores","enamorado", "enamorar") gsub("^amor.*", "amor", vec) # [1] "amor" "amor" "enamorado" "enamorar"
Решением без регулярного выражения R будет с startsWith, которое возвращает логическое значение, указывающее, начинается ли строка с определенного префикса или нет. Использование данных @ www's.
startsWith
vec[startsWith(vec, 'amor')] <- 'amor' vec #[1] "amor" "amor" "enamorado" "enamorar"