strip method

A

Amasa Masiarek

s = <<EOS
a1\t b1
a2\tb2
EOS

s.each{|e|
a = e.strip.split("\t")
p a[1]
}

output:
" b1"
"b2"

expected output:
"b1"
"b2"

What is wrong?
 
R

Rick DeNatale

2008/5/1 Amasa Masiarek said:
s = <<EOS
a1\t b1
a2\tb2
EOS

s.each{|e|
a = e.strip.split("\t")
p a[1]
}

output:
" b1"
"b2"

expected output:
"b1"
"b2"

What is wrong?

k$ qri String#strip
----------------------------------------------------------- String#strip
str.strip => new_str
------------------------------------------------------------------------
Returns a copy of str with leading and trailing whitespace removed.

Leading and trailing doesn't mean internal. So:

"a1\t b1".strip #=> "a1\t b1"
 
D

David A. Black

Hi --

s = <<EOS
a1\t b1
a2\tb2
EOS

s.each{|e|
a = e.strip.split("\t")
p a[1]
}

output:
" b1"
"b2"

expected output:
"b1"
"b2"

What is wrong?

Your expectation :) Sorry, I couldn't resist.

strip removes space on the right and left. If you start with
"a1\t b1\n", the stripped version is "a1\t b1". If you split that on
\t, you get "a1" and " b1". At no point have you removed the middle
space.


David

--
Rails training from David A. Black and Ruby Power and Light:
INTRO TO RAILS June 9-12 Berlin
ADVANCING WITH RAILS June 16-19 Berlin
INTRO TO RAILS June 24-27 London (Skills Matter)
See http://www.rubypal.com for details and updates!
 
W

William James

s = <<EOS
a1\t b1
a2\tb2
EOS

s.each{|e|
a = e.strip.split("\t")
p a[1]

}

output:
" b1"
"b2"

expected output:
"b1"
"b2"

What is wrong?


"

a1\t b1
a2\tb2


".strip.each{|x|
a = x.split("\t").map{|s| s.strip }
p a.last
}
 
G

Gordon Thiesfeld

s = <<EOS
a1\t b1
a2\tb2
EOS

s.each{|e|
a = e.strip.split("\t")
p a[1]

}

output:
" b1"
"b2"

expected output:
"b1"
"b2"

What is wrong?


"

a1\t b1
a2\tb2


".strip.each{|x|
a = x.split("\t").map{|s| s.strip }
p a.last
}

Or split on whitespace instead of on tabs alone.

s.each{|e|
a = e.split("\s")
p a[1]
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,204
Messages
2,571,066
Members
47,673
Latest member
MahaliaPal

Latest Threads

Top