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