如何删除字符串中的特定模式?

How to remove specific pattern in string?

我在该字符串中的数据类似于 f <- "./DAYA-1178/10TH FEB.xlsx"。我只想提取 DAYA-1178

我试过的是

f1 <- gsub(".*./","", f) 

但它给出了我文件的最后结果 "10TH FEB.xlsx"

感谢任何线索。

使用strsplit,我们可以在路径分隔符/上拆分输入并保留第二个元素:

f <- "./DAYA-1178/10TH FEB.xlsx"
unlist(strsplit(f, "/"))[2]
[1] "DAYA-1178"

如果您想使用 sub,这是一种方法:

sub("^.*/(.*?)/.*$", "\1", f)
[1] "DAYA-1178"

看来您正在处理文件。您需要目录的基本名称:

basename(dirname(f))
[1] "DAYA-1178"

或者你可以这样做:

sub(".*/","",dirname(f))
[1] "DAYA-1178"
f1 <- gsub("[.,xlsx]","",f)

你可以像这样尝试它会给

f1 <- /DAYA-1178/10TH FEB

f3 <- strsplit(f1,"/")[[1]][2]

DAYA-1178 --> answer