Problem
Your string contains too much whitespace, not enough whitespace, or the wrong kind of whitespace.
Solution
Use strip to remove whitespace from the beginning and end of a string:
" Whitespace at beginning and end. ". strip
Add whitespace to one or both ends of a string with ljust, rjust, and center:
s = "Some text." s. center(15) s. ljust(15) s. rjust(15)
Use the gsub method with a string or regular expression to make more complex changes, such as to replace one type of whitespace with another.
#Normalize Ruby source code by replacing tabs with spaces
rubyCode.gsub(" ", " ")
#Transform Windows-style newlines to Unix-style newlines
"Line one
Line two
".gsub(
", "
")
# => "Line one
Line two
"
#Transform all runs of whitespace into a single space character
"
This string uses
all sorts
of whitespace.".gsub(/s+/," ")
# => " This string uses all sorts of whitespace."
Discussion
What counts as whitespace? Any of these five characters: space, tab ( ), newline ( ), linefeed ( ), and form feed (f). The regular expression /s/ matches any one character from that set. The strip method strips any combination of those characters from the beginning or end of a string.
In rare cases you may need to handle oddball "space" characters like backspace ( or