/// Removes leading and trailing whitespace and collapses multiple
/// consecutive whitespace characters into a single space.
fn remove_extra_whitespace(input: &str) -> String {
// split_whitespace splits the string slice by any contiguous sequence of
// Unicode whitespace characters, automatically ignoring leading/trailing padding.
// Collect the resulting string slices into a Vector and join them with a single space.
input.split_whitespace().collect::<Vec<&str>>().join(" ")
}
fn main() {
// Input string containing arbitrary whitespace and padding
let s = " This is a test string with extra spaces. ";
// Clean the string using standard library methods
let cleaned_string = remove_extra_whitespace(s);
println!("{}", cleaned_string);
}
/*
run:
This is a test string with extra spaces.
*/