Подтвердить что ты не робот

Удалить скобки из строки

Я пытаюсь удалить скобку из строки в R и запустить следующую ошибку:

string <- "log(M)"
gsub("log", "", string) # Works just fine
gsub("log(", "", string) #breaks
# Error in gsub("log(", "", test) : 
#   invalid regular expression 'log(', reason 'Missing ')''
4b9b3361

Ответ 1

Побег в круглой скобке с помощью обратного слэша:

gsub("log\\(", "", string)

(Обязательно: http://xkcd.com/234/)

Ответ 2

Ответ Бен дает вам хороший общепринятый способ сделать это.

Кроме того, в вашей ситуации вы можете использовать аргумент fixed=TRUE, например:

gsub("log(", "", string, fixed=TRUE)
# [1] "M)"

Это целесообразно, если аргумент pattern для gsub() является символьной строкой, содержащей буквенную последовательность символов, которую вы ищете. Тогда это приятно, потому что позволяет вам вводить точный шаблон, который вы ищете, без экранов и т.д.