我需要在我的 R 代码中将“/”更改为“\”。我有这样的事情:
tmp <- paste(getwd(),"tmp.xls",sep="/")
所以我tmp
是c:/Study/tmp.xls
我希望它是:c:\Study\tmp.xls
是否可以在R中更改它?
如果这只是为了保存文件,那么正如@sgibb 建议的那样,您最好使用file.path()
:
file.path(getwd(), "tmp.xls")
tmp 是 a string
,如果你想有一个实际的反斜杠,你需要转义它——用一个反斜杠。但是,在R
解释双斜杠时(例如,在查找具有字符串指示的路径的文件时),它将看似双斜杠视为一个。
看看当你输出字符串时会发生什么cat()
cat("c:\\Study\\tmp.xls")
c:\Study\tmp.xls
第二个斜线已“消失”
in R
, \
是转义字符,因此如果要按字面意思打印,则需要转义转义字符:\\
. 这就是你想在你的paste
陈述中表达的。
您也可以将.Platform$file.sep
其用作 sep 参数,这将使您的代码更具可移植性。
tmp <- paste(getwd(),"tmp.xls",sep=.Platform$file.sep)
如果您已经有一个要替换的字符串,您可以使用
gsub("/", "\\", tmp, fixed=TRUE)