Project

General

Profile

Feature #7845

Strip doesn't handle unicode space characters in ruby 1.9.2 & 1.9.3 (does in 1.9.1)

Added by timothyg56 (Timothy Garnett) over 7 years ago. Updated about 7 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:52215]

Description

Strip and associated methods in ruby 1.9.2 and 1.9.3 do not remove leading/trailing unicode space characters (such as non-breaking space \u00A0 and ideographic space \u3000) unlike ruby 1.9.1. I'd expect the 1.9.1 behavior. Looking at the underlying native lstrip! and rstrip! methods it looks like this is because 1.9.1 uses rb_enc_isspace() whereas 1.9.2+ uses rb_isspace().

1.9.1p378 :001 > "\u3000\u00a0".strip
=> ""

1.9.2p320 :001 > "\u3000\u00a0".strip
=> "  "

1.9.3p286 :001 > "\u3000\u00a0".strip
=> "  "


Related issues

Related to Ruby master - Feature #2093: String#stripの対象は\sか[:space:]かClosedmatz (Yukihiro Matsumoto)09/13/2009Actions

Also available in: Atom PDF