Why does strip not remove the leading whitespace?
ruby, ruby-2.0, strip
Solution
Where did the string `" Bagsværd"` come from?
It’s likely that the space character at the start of the string is not a “normal” space, but a non-breaking space (U+00A0):
2.0.0p353 :001 > " Bagsværd".strip
=> "Bagsværd"
2.0.0p353 :002 > "\u00a0Bagsværd".strip
=> " Bagsværd"
You could remove it with `gsub` rather than `strip`:
2.0.0p353 :003 > "\u00a0Bagsværd".gsub(/\A\p{Space}*/, '')
=> "Bagsværd"
This uses the `\A` anchor, and the `\p{Space}` character property to emulate `lstrip`. To strip both leading and trailing whitespace, use:
2.0.0p353 :007 > "\u00a0Bagsværd\u00a0".gsub(/\A\p{Space}*|\p{Space}*\z/, '')
=> "Bagsværd"
Problem
I tried to `strip` the leading whitespace of a string: ``` " Bagsværd".strip # => " Bagsværd" ``` I expect it to return `"Bagsværd"` instead.