使用gsub()提取文件名的一部分

时间:2019-01-07 22:29:51

标签: r

我正在使用list.file()file.path()读取多个.txt文件。只是想解析完整路径名,并提取最后一个“ /”之后和“。”之前的部分。

这是文件路径名的结构:

"C:/Users/Alexandre/Desktop/COURS/FORMATIONS/THESE/PROJET/RESULTATS/Vessel features/Fusion/OK/SAT-DPL192C.txt"

我尝试过的代码

# l <- list.files(pattern = "SAT(.+)*.txt")
# f <- file.path(getwd(), c=(l))
f <- c("C:/Users/Alexandre/Desktop/COURS/FORMATIONS/THESE/PROJET/RESULTATS/Vessel features/Fusion/OK/SAT-DPL192C.txt", "C:/Users/Alexandre/Desktop/COURS/FORMATIONS/THESE/PROJET/RESULTATS/Vessel features/Fusion/OK/SAT-DPL193D.txt")
d <- lapply(f, read.delim)
names(d) <- gsub(".*/(.*)..*", "1", f)

最后一个字符串提供[1] "1" "1"而不是[1] "DPL192C" "DPL193D"等...

我也尝试过使用".*/(.+)*..*之类的语法来保存相同的结果。

1 个答案:

答案 0 :(得分:1)

php > print(json_encode(xmlToArr('<root a="5"><b>6</b></root>'))); {"root":[{"a":"5","b":["6"]}]} 是一个特殊字符,因此您需要对其进行转义。请,当您想要捕获捕获的表达式时,需要使用.,而不仅仅是\\1。试试这个:

1