我有一个数组:
t <- c("IMCR01","IMFA02","IMFA03")
我想让它看起来像这样:
"\'IMCR01\'","\'IMFA02\'","\'IMFA03\'"
我尝试了不同的方式,例如:
paste0("\'",t,"\'")
paste0("\\'",t,"\\'")
paste0("\\\\'",t,"\\\\'")
但是它们都不是正确的。其他功能也都可以。
实际上您的第二次尝试是正确的:
paste0("\\'",t,"\\'")
如果要告诉paste
使用文字反斜杠,则需要将其转义一次(但不能两次,就像在正则表达式模式中那样)。这会将以下内容输出到R中的控制台:
[1] "\\'IMCR01\\'" "\\'IMFA02\\'" "\\'IMFA03\\'"
这里的技巧是,反斜杠甚至在控制台输出中被R转义。如果要改为将t
写入文本文件,则仅会根据需要看到一个反斜杠:
write(t, file = "/path/to/your/file.txt")
但是为什么R写入自己的控制台时需要转义反斜杠?一种可能是,如果要编写文字\n
,则控制台实际上会将其解释为换行符。因此,仍然需要窃听。