【问题标题】:R: Error with gsub - removing elements in stringR:gsub 出错 - 删除字符串中的元素
【发布时间】:2020-09-29 00:12:18
【问题描述】:

我有一个文件名列表。 其中一个文件名是:

ABC_Earth_FullData_3-4-06.csv

我想要一个变量,它是文件名的子字符串,其日期仅为日期格式:

3-4-06

我在使用 gsub() 时遇到问题。 到目前为止我用过:

file_date <- gsub(file_name = file_date, pattern = "ABC_Earth_FullData_", replacement = "", fixed = T)

并不断收到此错误:

Error in gsub(file_name = file_date, pattern = "ABC_Earth_FullData_", :unused argument (file_name = file_date)

【问题讨论】:

  • “我遇到了麻烦”,好的。如何?您尝试过什么,它给出了哪些错误/警告或不正确的输出?
  • gsub(".*_([-0-9]+)\\..*", "\\1", "ABC_Earth_FullData_3-4-06.csv")
  • 如果您遇到gsub 的问题,为什么要添加标签dplyrlubridatecomputation
  • @r2evans 感谢您的建议,我在我的问题中添加了更多信息。
  • 错误很明显,为什么要添加file_name= 参数名称? gsub与文件无关,其参数为pattern=replacement=x=ignore.case=perl=fixed=useBytes=。 (?gsubnames(formals(gsub)) 给这个。)

标签: r dplyr lubridate base computation


【解决方案1】:

file_name 不是有效的 gsub 参数,请查看帮助

   ?gsub

试试:

file_date <- gsub(x=file_name,pattern = "ABC_Earth_FullData_", replacement = "",fixed = T)

【讨论】:

    【解决方案2】:

    str_remove 的选项

    library(stringr)
    str_remove_all(str1, '.*_|\\..*')
    #[1] "3-4-06"
    

    数据

    str1 <- 'ABC_Earth_FullData_3-4-06.csv'
    

    【讨论】:

      【解决方案3】:

      您可以使用sub 和反向引用:

      sub(".*_(.*)\\.csv", "\\1", str1)
      [1] "3-4-06"
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-30
        • 2015-06-23
        • 1970-01-01
        • 1970-01-01
        • 2022-08-16
        • 2011-05-24
        相关资源
        最近更新 更多