代码之家  ›  专栏  ›  技术社区  ›  maycca

正则表达式:过滤年份数值大于某个值的文件?字符串中编码的年份

  •  0
  • maycca  · 技术社区  · 2 年前

    01_Jan/193501asc.gz , 09_Sep/188209asc.gz , 01_Jan/202101asc.gz , 07_Jul/201107asc.gz ,从文件夹中读取并压缩文件(month/yearmonthasc.gz)。文件名的前四个字符表示年份。

    我尝试过:

    file_ls <- list.files(paste(myPath, "data", sep = "/"), 
                              pattern = "[>2000]",
                              pattern = "20",
                              #pattern = "[2000-2021]",
                              #pattern="*\\.gz$", # ending character
                              recursive=TRUE)
    

    尤其是 pattern = "20" 看起来很有希望。但不处理以下情况: 20 存在于其他地方,例如 188209年9月9日。广州 -这里的年份是1882年。

    非常感谢。

    1 回复  |  直到 2 年前
        1
  •  1
  •   Dan Adams    2 年前

    如果文件名都以YYYY中的年份开头,则使用 pattern = "^20" 应该有效。这将搜索限制在字符串的开头。