要从名称包含日期的 .txt
文件中提取日期,可以使用 Scala 的正则表达式功能。以下是一个详细的步骤和示例代码:
YYYY-MM-DD
, MM/DD/YYYY
, DD-MM-YYYY
等。以下是一个 Scala 示例代码,展示如何从文件名中提取日期:
import java.io.File
import scala.util.matching.Regex
object DateExtractor {
def main(args: Array[String]): Unit = {
// 假设文件名格式为 "data_YYYY-MM-DD.txt"
val directoryPath = "/path/to/your/files"
val directory = new File(directoryPath)
// 获取目录下所有 .txt 文件
val files = directory.listFiles().filter(_.getName.endsWith(".txt"))
// 定义日期的正则表达式
val datePattern: Regex = """(\d{4}-\d{2}-\d{2})""".r
// 遍历文件并提取日期
files.foreach { file =>
val fileName = file.getName
datePattern.findFirstMatchIn(fileName) match {
case Some(dateMatch) =>
val date = dateMatch.group(1)
println(s"File: $fileName, Extracted Date: $date")
case None =>
println(s"No date found in file: $fileName")
}
}
}
}
.txt
文件的目录。listFiles()
方法获取目录下的所有文件,并过滤出 .txt
文件。(\d{4}-\d{2}-\d{2})
,用于提取 YYYY-MM-DD
格式的日期。None
来处理这种情况,并给出相应的提示。通过这种方式,你可以灵活地从各种格式的文件名中提取日期,并应用于不同的场景。
领取专属 10元无门槛券
手把手带您无忧上云