Почему gsub работает не так, как ожидалось

#regex #r #gsub

#регулярное выражение #r #gsub

Вопрос:

У меня есть эта строка:

 c <- "thethirsty thirsty itthirsty (thirsty) is"
 

Я хочу, чтобы результат был следующим

      "thethirsty thirsty itthirsty no is"
 

Это то, что я пытаюсь сделать.

 gsub(" (thirsty) ", " no ", c)
 

Это то, что я получаю. Почему это не работает? И предложите альтернативу для этого.

 "thethirsty no itthirsty (thirsty) is" 
 

Комментарии:

1. Вам нужно сбежать ( и ) использовать \( и. \)

Ответ №1:

По умолчанию gsub интерпретирует первый параметр как регулярное выражение. Вы этого не хотите и должны установить fixed=TRUE :

 gsub(" (thirsty) ", " no ", c, fixed=TRUE)
#[1] "thethirsty thirsty itthirsty no is"