From: nurachi@... Date: 2014-11-04T15:42:18+00:00 Subject: [ruby-core:66081] [ruby-trunk - Bug #10476] [Open] String.strip remove characters different than pure whitespace Issue #10476 has been reported by Yves Le Douaron. ---------------------------------------- Bug #10476: String.strip remove characters different than pure whitespace https://bugs.ruby-lang.org/issues/10476 * Author: Yves Le Douaron * Status: Open * Priority: Normal * Assignee: ruby-core * Category: core * Target version: current: 2.2.0 * ruby -v: ruby 2.1.3p242 * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- The offical documentation (http://www.ruby-doc.org/core-2.1.4/String.html#method-i-strip) says: **strip ��� new_str** *Returns a copy of str with leading and trailing whitespace removed.* But ~~~ [9] pry(main)> "#{0.chr}#{9.chr}#{10.chr}#{11.chr}#{12.chr}#{13.chr}#{32.chr}" => "\x00\t\n\v\f\r " [10] pry(main)> "#{0.chr}#{9.chr}#{10.chr}#{11.chr}#{12.chr}#{13.chr}#{32.chr}".length => 7 [11] pry(main)> "#{0.chr}#{9.chr}#{10.chr}#{11.chr}#{12.chr}#{13.chr}#{32.chr}".strip => "" ~~~ ~~~ ([4] pry(main)> (0..255).each { |char| puts "char #{char} stripped" if char.chr.strip.empty? } char 0 stripped char 9 stripped char 10 stripped char 11 stripped char 12 stripped char 13 stripped char 32 stripped ~~~ Stripped characters are 1. Null char (0) 1. Horizontal Tab (9) 1. Line Feed (10) 1. Vertical Tab (11) 1. Form Feed (12) 1. Carriage Return (13) 1. Space (32) -- https://bugs.ruby-lang.org/