Я рассмотрел существующие вопросы по этому вопросу, но это не помогло. Я пытаюсь прочитать SQL-запрос из текстового файла, и в нем есть кавычки и регулярное выражение. Я не могу найти способ получить символ \'
при сканировании строки. Я пробовал:Чтение escape-символов с помощью сканирования()
> scan(text=" 'H' ", what="character")
Read 1 item
[1] "H"
There were 50 or more warnings (use warnings() to see the first 50)
> scan(text=" \'H\' ", what="character")
Read 1 item
[1] "H"
> scan(text=" \\'H\\' ", what="character")
Read 1 item
[1] "\\'H\\'"
Я хочу, чтобы результат моего scan()
быть \'H\'
, то есть строка, которая печатает 'H'
при вызове cat
на нем. Другими словами, что строка x
производит
> scan(text=x, what="character")
Read 1 item
[1] "\'H\'"
Я думал, что второй пример будет делать это, но это не так. Или есть альтернатива scan()
, которая не вносит никаких изменений в строку, в которую он читает?
(Точно так же, для регулярного выражения Я хотел бы scan()
вернуть строку, когда cat
Ted производит '^\\d+'
.)
Что относительно 'scan (text =" 'H' ", what =" ", quote =" ")'? Это не приведет к печати обратных косых черт, но даст нужный результат 'cat()' –
. Удаленный ответ by @Richard Scriven решил мою проблему, используя 'scan (text =" 'H' ", what =" character ", quote =" ") '. Я не мог понять, что делает «цитата» из документации. – Flounderer
Хорошо, я не был уверен. Отменить мой ответ :) –