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

1 Answer

0 votes
import java.util.regex.Pattern

fun normalizeFilename(filePath: String): String {
    // Extract only the file name using regex
    val pattern = Pattern.compile("^.*[\\\\/]([^\\\\/]*)$")
    val matcher = pattern.matcher(filePath)

    val filename = if (matcher.find()) {
        matcher.group(1)
    } else {
        filePath
    }

    return filename.replace(" ", "_").lowercase()
}

fun main() {
    val filePath = "c:\\path\\to\\file\\WITH Whitespace1 and Whitespace2.kt"
    val result = normalizeFilename(filePath)

    println(result)
}

  
 
  
/*
run:
 
with_whitespace1_and_whitespace2.kt

*/

 



answered Jul 16, 2025 by avibootz
...