Цитата из Обработка строк с помощью R
Не все метасимволы становятся буквальными символами, когда они появляются внутри набора символов. Исключения составляют закрывающая скобка], тире -, символ ^ и обратный слеш \.
Ответ на ваш вопрос «Как проверить обратный слеш (\)
в строке? " R для Data Science :
... Если в регулярных выражениях в качестве escape-символа используется \
, как вы сопоставляете литерал \
? Ну, вам нужно избежать этого, создав регулярное выражение \\
. Чтобы создать это регулярное выражение, вам нужно использовать строку, которая также должна экранировать \
. Это означает, что для совпадения с литералом \
вам нужно написать \\\\
- вам нужно четыре обратных слеша, чтобы соответствовать одному!
Пример использования вашей строки с использованием stringr
:
library(stringr)
Potent_Abb <- "GR\xdcNE"
writeLines(Potent_Abb, con = stdout()) # cat(Potent_Abb)
#GR�NE
# to detect if the string has a backslash
str_detect(Potent_Abb, "\\\\")
# FALSE
#Let's add a backslash literal at the end
# we need to escape the '\` using a '\` to represent it as a literal, hence `\\`
Potent_Abb <- "GR\xdcNE\\"
writeLines(Potent_Abb, con = stdout()) # cat(Potent_Abb)
#GR�NE\
str_detect(Potent_Abb, "\\\\")
# TRUE
Надеюсь, что это что-то добавит, если не будущие ссылки на себя.