我有以下字符串:
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中设置它们,因为元素的数量将非常基于路径。
有什么想法吗?
答案 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"