How to extract a file name from a path, replace whitespaces, and make it lowercase using RegEx in Scala

1 Answer

0 votes
import scala.util.matching.Regex

object NormalizeFilename extends App {
  val filePath = """c:\path\to\file\WITH Whitespace1 and Whitespace2.scala"""

  def normalizeFilename(path: String): String = {
    // Regex to extract the file name
    val pattern: Regex = """^.*[\\/](.*)$""".r

    val filename = path match {
      case pattern(name) =>
        name.replace(" ", "_").toLowerCase
      case _ =>
        path.replace(" ", "_").toLowerCase  // fallback if pattern fails
    }

    filename
  }

  val result = normalizeFilename(filePath)
  
  println(result)
}
 
 
 
/*
run:
 
with_whitespace1_and_whitespace2.scala
 
*/

 



answered Jul 16, 2025 by avibootz
...