# Removes leading and trailing whitespace and collapses multiple
# consecutive whitespace characters into a single space.
#
# @param input [String] the original string containing extra spaces
# @return [String] the normalized string
def remove_extra_whitespace(input)
return "" if input.nil?
# Calling split without arguments splits by any contiguous sequence of
# whitespace characters (spaces, tabs, newlines) and automatically ignores
# leading or trailing spaces.
# Calling join(' ') recombines the words separated by a single space.
input.split.join(' ')
end
# Main
def main
# Input string containing arbitrary whitespace and padding
s = " This is a test string with extra spaces. "
# Clean the string using standard library methods
cleaned_string = remove_extra_whitespace(s)
puts cleaned_string
end
main
# run:
#
# This is a test string with extra spaces.
#