object PascalCase {
def getPascalCase(input: String): String = {
var str = input
if (!input.contains(" ")) {
str = input.replaceAll("(?<=[a-z])(?=[A-Z])", " ")
}
val words = str.toLowerCase().split("[\\s_]+")
words.map(word => word.capitalize).mkString("")
}
def main(args: Array[String]): Unit = {
println(getPascalCase("get file content"))
println(getPascalCase("get_file_content"))
println(getPascalCase("get______file___content"))
println(getPascalCase("get______file____ content"))
println(getPascalCase("GET FILE CONTENT"))
println(getPascalCase("get file content"))
println(getPascalCase("getFileContent"))
}
}
/*
run:
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
GetFileContent
*/