package main
import (
"fmt"
"regexp"
"strings"
)
func normalizeFilename(filePath string) string {
// Extract only the file name using regex
re := regexp.MustCompile(`^.*[\\/](.*)$`)
matches := re.FindStringSubmatch(filePath)
filename := filePath
if len(matches) > 1 {
filename = matches[1]
}
// Replace whitespaces with underscores
filename = strings.ReplaceAll(filename, " ", "_")
// Convert to lowercase
filename = strings.ToLower(filename)
return filename
}
func main() {
filePath := `c:\path\to\file\WITH Whitespace1 and Whitespace2.go`
result := normalizeFilename(filePath)
fmt.Println(result)
}
/*
run:
with_whitespace1_and_whitespace2.go
*/