【问题标题】:How to remove specific pattern in string?如何删除字符串中的特定模式?
【发布时间】:2020-03-03 05:38:58
【问题描述】:

我在该字符串中有数据,例如f <- "./DAYA-1178/10TH FEB.xlsx"。我只想提取DAYA-1178

我试过的是

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

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

欣赏任何线索。

【问题讨论】:

  • 试试stringi::stri_extract(f,regex = "(?&lt;=\\./).*(?=/)")

标签: r regex gsub


【解决方案1】:

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

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

或者你可以这样做:

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

【讨论】:

    【解决方案2】:

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

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

    如果你想使用sub,这里有一种方法:

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

    【讨论】:

      【解决方案3】:
      f1 <- gsub("[.,xlsx]","",f)
      

      你可以试试这些,它会给你

      f1 <- /DAYA-1178/10TH FEB
      
      f3 <- strsplit(f1,"/")[[1]][2]
      
      DAYA-1178 --> answer
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-09-16
        • 2019-11-11
        • 2017-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-27
        相关资源
        最近更新 更多