Ответ 1
Вам также нужно сбежать \
:
vectorOfStrings <- c("Where is Waldo?", "I don't know", "This is ? random ?")
grep("\\?", vectorOfStrings)
#-----
[1] 1 3
Я пытаюсь grep вектор строк, а некоторые из них содержат вопросительные знаки.
Я делаю:
grep('\?',vectorofStrings)
и получить эту ошибку:
Error: '\?' is an unrecognized escape in character string starting "\?"
Как я могу определить правильную процедуру экранирования для??
Вам также нужно сбежать \
:
vectorOfStrings <- c("Where is Waldo?", "I don't know", "This is ? random ?")
grep("\\?", vectorOfStrings)
#-----
[1] 1 3
Используйте аргумент \\
или fixed = TRUE
, как в:
vectorofStrings <-c("hello.", "where are you?", "?")
grep('\\?',vectorofStrings)
grep('?',vectorofStrings, fixed=TRUE)
Я бы предположил, что \
используется в R как обычный символ escape строки, поэтому для передачи литерала \
в grep
вам может понадобиться \\?
Мне не повезло с удалением обратной косой черты под окнами grep. Но мне удалось заставить его работать следующим образом:
grep [?]{3} *
То есть, я заключил знак вопроса в скобки символьного класса ([
и ]
), что сделало особый смысл неактивным. Часть {3}
не относится к вопросу, я использовал ее для поиска трех последовательных вопросительных знаков.