В этой строке нет обратной косой черты. Отображаемая обратная косая черта - это маркер перехода. Это и другие функции, связанные с вводом и отображением «особых ситуаций», описаны в справочной странице ?Quotes
. Вам был предоставлен один регулярный метод эллиптического подхода к удалению. Вот несколько других подходов .... только некоторые из них действительно удалось добиться успеха, потому что \ff
является первым «характер», и это на самом деле не юридическое, как R характер:
s <- "\xff$GPGGA"
strsplit(s, "")
#[[1]]
#[1] NA
Warning message:
In strsplit(s, "") : input string 1 is invalid in this locale
substr(s, 1,1)
#Error in substr(s, 1, 1) : invalid multibyte string at '<ff>$GP<47>GA'
gsub('.*([^A-Za-z].*)', '\\1',"\xff$GPGGA")#[1]
#[1] "$GPGGA"
?Quotes
gsub('\xff', '',"\xff$GPGGA")#[1]
#[1] "$GPGGA"
Я думаю, что причина того, что регулярное выражение функции не задушают эту строку, так что регулярное выражение является фактически опосредованным системой процессом, тогда как strsplit
и substr
являются внутренними R-функциями.
@RichardScriven отправляет пример, и когда я попытался его воспроизвести, у меня появился еще один пример, показывающий, что отображение отображаемых символов является специфичным для системы. Я на OSX 10.10.1 (Yosemite)>
cat('\xff')
ˇ
(я кончили в знак числа (#), что я обычно в.)
Пожалуй 'GSUB (». * ([^ -За-z]. *) ',' \\ 1 ', "\ xff $ GPGGA") # [1] "$ GPGGA" ' – akrun
Отлично работает, спасибо. Любая документация с дополнительными примерами указания символов таким образом? – Stu
Просьба представить примеры, образцы в вашем исходном наборе данных, чтобы его можно было протестировать. – akrun