module UnicodeTools::StringExtension::Squish

Public Instance Methods

squish() click to toggle source

Removes leading, trailing whitespace and collapses remaining whitespace into one group each.

string = “ Hellofnrtv​u00A0u1680​u180eu2000​

\u2001\u2002​\u2003\u2004​\u2005\u2006
​\u2007\u2008​\u2009\u200a​\u2028\u2029​
\u2028\u2029​\u202f\u205f​\u3000 World! "

string.squish => “Hello World!”

# File lib/unicode-tools/string_extension/squish.rb, line 16
def squish
  dup.squish!
end
squish!() click to toggle source
# File lib/unicode-tools/string_extension/squish.rb, line 20
def squish!
  return self if empty?
  gsub!(SURROUNDING_WHITESPACE_REGEXP, '')
  gsub!(WHITESPACE_REGEXP, ' ')
  self
end