Почему gsub не работает должным образом

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

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

Я хочу, чтобы результат был таким

     "thethirsty thirsty itthirsty no is"

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

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

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

"thethirsty no itthirsty (thirsty) is" 

person user3710832    schedule 20.06.2014    source источник
comment
Вам нужно избежать ( и ), используя \\( и \\).   -  person    schedule 20.06.2014


Ответы (1)


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

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