5

我需要在我的 R 代码中将“/”更改为“\”。我有这样的事情:

tmp <- paste(getwd(),"tmp.xls",sep="/")

所以我tmpc:/Study/tmp.xls

我希望它是:c:\Study\tmp.xls

是否可以在R中更改它?

4

1 回答 1

11

根据评论更新。

如果这只是为了保存文件,那么正如@sgibb 建议的那样,您最好使用file.path()

    file.path(getwd(), "tmp.xls") 

更新 2:你想要双反斜杠。

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)
于 2013-03-26T18:54:25.423 回答