Reputation: 6250
Im doing some screen scraping and im getting back a string that appears to end with whitespace but neither string.strip or strip.gsub(/\s/u, '') removes the character.
Im guessing it's a character encoding issue. Any suggestions?
Upvotes: 5
Views: 1861
Reputation: 629
You can try this: my_string.gsub(/\A[[:space:]]+|[[:space:]]+\z/, '')
This should remove all space characters from the beginning and the end of string, including all possible unicode space variations.
Upvotes: 5
Reputation: 5832
I think, there are a lot of "space characters". You can use something like this:
my_string.gsub("\302\240", ' ').strip
Upvotes: 12
Reputation: 303253
Figure out the character code of the last character (str[-1].ord
) and explicitly search and destroy it. Rinse/repeat if there exist more unwanted characters after that. After doing this, report back here what the invisible character was. (Perhaps it's only invisible because the font you are using does not have that glyph?)
Upvotes: 2