regex - 如何在scala中选择具有指定模式的文件名
问题描述
OTC_omega_20210302.csv
CH_delta_20210302.csv
MD_omega_20210310.csv
CD_delta_20210310.csv
val hdfsPath = "/development/staging/abcd-efgh"
val fs = org.apache.hadoop.fs.FileSystem.get(spark.sparkContext.hadoopConfiguration)
val files = fs.listStatus(new Path(s"${hdfsPath}")).filterNot(_.isDirectory).map(_.getPath)
val regX = "OTC_*[0-9].csv|CH_*[0-9].csv".stripMargin.r
val filteredFiles = files.filter(fName => regX.findFirstMatchIn(fName.getName).isDefined)
如果我需要任何以(OTC_ 或 CH_)开头并以 YYYYMMDD.csv 结尾的文件名,我需要提供什么正则表达式?
根据上述文件,我需要两个输出 OTC_omega_20210302.csv CH_delta_20210302.csv
请帮忙
解决方案
推荐阅读
- wordpress - 仅将 woocommerce 优惠券应用于购物车总数,而不应用于税线
- html - 如何使用闪亮的应用程序将 pdf 文件嵌入到数据表中?
- mysql - 插入 Base64Encoded 字符串返回不正确的字符串值(MySQL)
- java - Spring Boot: spring.profiles.active=dev/test/prod
- java - java.lang.IllegalArgumentException:用户名不能为空或空,AbstractXMPPConnection.java:484
- docker - 如何通过 docker RUN 运行复制命令
- c++ - 将浮点数转换为字符串时如何加速此代码?
- android - 如何在运行时直接(无动画)设置 FAB 图标旋转和颜色以及 FAB 背景?
- php - 带有 laravel 项目的 Css 不起作用(布局使用)
- javascript - Lodash 从选定的键创建新数组