这是我想出来的,但它并不能完美地工作(更可能的是一些结果是偶然正确的):
dd <- c ("2day-2023-1-5--20-0.csv", "1day-2023-2-5--20-0.csv", "3day-2021-1-5--20-0.csv") sub("day-.(.*)--.*", "\\1", dd)
预期输出为
"2023-1-5" "2023-2-5" "2021-1-5"
您可以在
day
--
\d*day-(.*?)--.*
正则表达式演示
或者使模式更具体:
\d*day-(\d{4}-\d{1,2}-\d{1,2})--.*