从R中的文件路径中提取TOP目录

时间:2019-05-27 23:55:00

标签: r regex

我需要有关如何从给定路径中提取第一个(或)顶层目录的指导。这包括第一个斜杠和最后一个斜杠。例如,在路径:“ / chemicalemergencies / category / test-page1.html”中,我需要提取“ / chemicalemergencies /”,我使用了str_extract和regex来识别模式,但是问题在于它返回了ANY比赛。如果URL有重复的文件夹,这将成为问题。因此,例如,如果路径为“ /chemicalemergencies/category/chemicalemergencies/test-page1.html”,则当我只需要第一个结果时,它将同时返回结果。在字符串中的第一个匹配项之后,如何使模式检测停止?

Sys.time()
#i=4
for (i in 1:nrow(wwwdevurls)) {
  pathextract_wwwdev <- str_extract(wwwdevurls[i,3],"\\/([A-z0-9]+)\\/")
  pathextract_wwwdev.df[i,1] <- pathextract_wwwdev #Load pathextract into pathextract.df
  pathextract_wwwdev.df[i,2] <- wwwdevurls[i,1] #Load CIO into pathextract.df
}
Sys.time()

2 个答案:

答案 0 :(得分:0)

使用 ^ [^ /] *(/ [^ /] * /)
用斜杠括起来的第一个目录在组1中。

答案 1 :(得分:0)

如果路径总是以斜杠开头,则可以使用:

  sub(“(/.*?/).*”,“ \\ 1”,路径)
“ /化学紧急情况/”