заменить на новую строку, если текст содержит указанный c символ в r - PullRequest
1 голос
/ 10 февраля 2020

У меня есть список строк в R, который выглядит следующим образом:

amor
amores
enamorado
enamorar

Я хочу заменить словом amor все строки, которые начинаются и содержат эту букву , результат должен выглядеть следующим образом:

amor
amor
enamorado
enamorar

Важно отметить, что слово enamorado содержит букву amor. Я пытаюсь сделать это с:

data$word<-gsub("amor.*", "amor", data$word)

, но результат равен

amor
amor
enamor
enamor

Ответы [ 2 ]

3 голосов
/ 10 февраля 2020

Добавьте ^, чтобы указать начало вашего строкового шаблона.

vec <- c("amor", "amores","enamorado", "enamorar")

gsub("^amor.*", "amor", vec)
# [1] "amor"      "amor"      "enamorado" "enamorar" 
1 голос
/ 10 февраля 2020

Решением без регулярного выражения R будет с startsWith, которое возвращает логическое значение, указывающее, начинается ли строка с определенного префикса или нет. Использование данных @ www's.

vec[startsWith(vec, 'amor')] <- 'amor'
vec
#[1] "amor"      "amor"      "enamorado" "enamorar" 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...