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

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

所以我的tmpc:/Study/tmp.xls
我希望它是:c:\Study\tmp.xls
是否可以在R中更改它?

最佳答案

根据评论更新。

如果这仅仅是为了保存文件,则按照@sgibb的建议,最好使用file.path():

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

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

tmp是一个string,如果您想使用实际的反斜杠,则需要使用反斜杠对其进行转义。
但是,当R解释双斜杠时(例如,当查找带有字符串指示的路径的文件时),它将把看似双斜杠视为一个。

看看用cat()输出字符串时会发生什么
cat("c:\\Study\\tmp.xls")
c:\Study\tmp.xls

第二个斜杠已“消失”

原始答案:

R中,\是转义字符,因此,如果要按字面意义打印,则需要转义转义字符:\\。这就是您想要放入paste语句中的内容。

您还可以将.Platform$file.sep用作sep参数,这将使您的代码更具可移植性。
 tmp <- paste(getwd(),"tmp.xls",sep=.Platform$file.sep)

如果您已经有想要替换的字符串,则可以使用
    gsub("/", "\\", tmp, fixed=TRUE)

关于r - 在R中将 "/"更改为 "\",我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15645091/

10-10 21:31