Project

General

Profile

Actions

Bug #10476

closed

String.strip remove characters different than pure whitespace

Added by yld (Yves Le Douaron) about 10 years ago. Updated almost 10 years ago.

Status:
Closed
Assignee:
Target version:
ruby -v:
ruby 2.1.3p242
[ruby-core:66081]

Description

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)
  2. Horizontal Tab (9)
  3. Line Feed (10)
  4. Vertical Tab (11)
  5. Form Feed (12)
  6. Carriage Return (13)
  7. Space (32)

Files

bug-10476.patch (2.16 KB) bug-10476.patch Anonymous, 11/15/2014 06:51 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0