/**
* Removes leading and trailing whitespace and collapses multiple
* consecutive whitespace characters into a single space.
*
* @param input The original string containing extra spaces.
* @return A normalized string with single space separation.
*/
fun removeExtraWhitespace(input: String): String {
if (input.isBlank()) return ""
// Step 1: trim() removes leading and trailing whitespace.
// Step 2: replace(Regex("\\s+"), " ") matches any sequence of 1 or more
// whitespace characters (spaces, tabs, newlines) and collapses them to a single space.
return input.trim().replace(Regex("\\s+"), " ")
}
fun main() {
// Input string containing arbitrary whitespace, tabs, and padding
val s = " This is a test string with extra spaces. "
// Clean the string using Kotlin standard library extension functions
val cleanedString = removeExtraWhitespace(s)
println(cleanedString)
}
/*
run:
This is a test string with extra spaces.
*/