以编程方式设置参数数量

时间:2018-03-23 13:56:47

标签: r loops

我有以下字符串:

test <- "C:\\Users\\stefanj\\Documents\\Automation_Desk\\script.R"

我使用以下代码将反斜杠字符上的字符串分开:

pdf_path_long <- unlist(strsplit(test, "\\\\", 
                       fixed = FALSE, perl = FALSE, useBytes = FALSE))

我想做的是:

pdf_path_short <- file.path(pdf_path_long[1], pdf_path_long[2], ...)

问题是:

我知道如何计算pdf_path_short中的元素 - length(pdf_path_long),但我不知道如何在file.path中设置它们,因为元素的数量将非常基于路径。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

您可以直接(无需strsplit来电)使用gsub上的test更改分隔符(使用fixed=TRUE,这样您就无需逃避双反斜杠),您将获得与file.path相同的输出:

pdf_path_short <- gsub("\\", "/", test, fixed=TRUE)
pdf_path_short
# "C:/Users/stefanj/Documents/Automation_Desk/script.R"

当然,您可以使用您需要的任何分隔符更改替换零件。

注意:您还可以查看normalizePath功能:

normalizePath(test, "/", mustWork=FALSE)
#[1] "C:/Users/stefanj/Documents/Automation_Desk/script.R"