尽管使用函数“ gsub”从字符串中替换“ \ a”会为我提供预期的正确输出,但是以类似方式替换“ \ A”会给我错误消息。为什么会发生?
> asd = "\asd"
> gsub("\\a","",asd)
[1] "sd"
> gsub("\\A","","\Asd")
Error: '\A' is an unrecognized escape in character string starting ""\A"
>
我希望输出为“ sd”
答案 0 :(得分:1)
\
是R和正则表达式中的转义字符。
> cat("\A")
Error: '\A' is an unrecognized escape in character string starting ""\A"
> cat("\\A")
\A
因此,您需要在字符串中转义\
,然后在正则表达式中进行“双精度”转义。
> gsub("\\\\A","","\\Asd")
[1] "sd"
\a
是一个特殊符号,因此它可以代替它。如果您在命令行中运行cat("\a")
,则会像alarm()
一样响铃。
这会引发相同的错误:
> gsub("\\c","","\csd")
Error: '\c' is an unrecognized escape in character string starting ""\c"
所以这不是大写字母