Edit 1: Исправлена ошибка (два обратных слэша, необходимых для создания обратной косой черты в строке):
s <- '\\"------------080209060700030309080805\\"'
s
gsub('\\"', "", s, fixed = TRUE)
приводит
> s <- '\\"------------080209060700030309080805\\"'
> s
[1] "\\\"------------080209060700030309080805\\\""
> gsub('\\"', "", s, fixed = TRUE)
[1] "------------080209060700030309080805"
Пожалуйста, обратите внимание, что один обратный слэш в R является код выхода, который НЕ является частью строки:
> charToRaw('\\"')
[1] 5c 22
> charToRaw('\"')
[1] 22
Для того, чтобы создать одну обратную косую черту, вы должны использовать две обратные косые черты в цитируемой строке. Если вы печатаете эту строку обратной косой черты снова спасся, которая выглядит запутанным:
> print('\\"')
[1] "\\\""
Если вы хотите напечатать неэкранированный содержимое строки использовать cat
вместо print
:
> cat('\\"')
\"
подробнее см помощь в Р: ?"'"
:
Характер константы
Одиночные и двойные кавычки с разделительными символами. Они могут использоваться как взаимозаменяемые, но двойные кавычки являются предпочтительными (а символ константы печатаются с использованием двойных кавычек), поэтому одинарные кавычки обычно используются только для разграничения символьных констант, содержащих двойные цитаты.
Обратная косая черта используется для запуска escape-последовательности внутри символа константы. Экранирование символа не в следующей таблице является ошибкой .
Одинарные кавычки должны быть экранированы обратной косой чертой в строках с одиночными кавычками и двойными кавычками в строках с двойными кавычками.
\ п новой строки вкладка возврата \ г каретки \ т \ Ъ забой \ предупреждающим (колокол) \ F Форма подачи \ V вертикальной вкладке \ обратной косой черты \ \ 'ASCII-апостроф' \ "ASCII-кавычки" `ASCII-тяжелое accent (backtick) `\ nnn
символ с заданным восьмеричным кодом (1, 2 или 3 цифры) \ xnn символ с заданным шестнадцатеричным кодом (1 или 2 шестнадцатеричных разряда) \ unnnn Символ Юникода с данный код (1--4 шестнадцатеричных цифр) \ символ Unnnnnnnn Unicode с заданным кодом (1--8 шестнадцатеричных цифр)
' "------------ 080209060700030309080805 \"', как результат выглядит как опечатка: Do Y ou действительно хотите, чтобы окончательная обратная косая черта была частью вашего результата? Пожалуйста, отредактируйте свой ответ ... –
Пожалуйста, покажите нам в текстовом виде, какие должны быть входные и выходные данные. Не беспокойтесь о побеге в R. –
Вход здесь выглядит следующим образом: "\" ------------ 080209060700030309080805 \ "", это на самом деле от спама/данные ветчины из книги по научным исследованиям. И я хочу использовать функцию gsub только для захвата части «------------ 080209060700030309080805», что означает, что я хочу избавиться от косой черты здесь, но в настоящее время кажется, что у меня нет хороший способ сделать это. – tql66