#person@cogeco.ca is in the string test12 which is a string of email
addresses #separated by newline characters
#puts test12 prints out very nice listing of all email addresses on a
separate #line including the aforementioned person@cogeco.ca
#I tried it with a test13 object in which I "slice!"(ed) everything out
#according to /[A-Za-z0-9_.%@-]+ / but I got the same results and puts
test13 #basically shows the same as test12 with the newline characters
removed which #was what I expected.
if(test12.include? "person@coge") then
puts "person@coge found"
else
puts "person@coge not found"
end
------> Outputs -----> ‘person@coge found’
if(test12.include? "person@cogec") then
puts "person@cogec found"
else
puts "person@cogec not found"
end
------->Outputs -------> ‘person@cogec not found’
···
-----------------------------------------------------------------------
This is so bizarre I can’t explain it.. I even tried splicing out all
newline characters etc and I still get the same results. As soon as I
get to the second ‘c’ in cogec the string is not found in test12. Of
course my goal is to be able to find ‘person@cogeco.ca’ in the string
test12 since it is in the string test12.
(please note that I’ve changed the original email address to person in
order to protect privacy)
Please let me know if there is a solution to this problem or if you have
any ideas.
thanks in advance,
Dave.
--
Posted via http://www.ruby-forum.com/.
Hi --
#person@cogeco.ca is in the string test12 which is a string of email
addresses #separated by newline characters
#puts test12 prints out very nice listing of all email addresses on a
separate #line including the aforementioned person@cogeco.ca
#I tried it with a test13 object in which I "slice!"(ed) everything out
#according to /[A-Za-z0-9_.%@-]+ / but I got the same results and puts
test13 #basically shows the same as test12 with the newline characters
removed which #was what I expected.
if(test12.include? "person@coge") then
puts "person@coge found"
else
puts "person@coge not found"
end
------> Outputs -----> ‘person@coge found’
if(test12.include? "person@cogec") then
puts "person@cogec found"
else
puts "person@cogec not found"
end
------->Outputs -------> ‘person@cogec not found’
-----------------------------------------------------------------------
This is so bizarre I can’t explain it.. I even tried splicing out all
newline characters etc and I still get the same results. As soon as I
get to the second ‘c’ in cogec the string is not found in test12. Of
course my goal is to be able to find ‘person@cogeco.ca’ in the string
test12 since it is in the string test12.
(please note that I’ve changed the original email address to person in
order to protect privacy)
Please let me know if there is a solution to this problem or if you have
any ideas.
There has to be something going on beyond what you're describing.
String#include? does work:
str = "person@cogeco.ca"
=> "person@cogeco.ca"
str.include?("person@coge")
=> true
str.include?("person@cogec")
=> true
Can you post an entire irb session, or equivalent, where you're
getting this problem, including showing the value of the whole string
(edited for privacy, of course 
David
···
On Sat, 11 Jul 2009, David Charles wrote:
--
David A. Black / Ruby Power and Light, LLC
Ruby/Rails consulting & training: http://www.rubypal.com
Now available: The Well-Grounded Rubyist (http://manning.com/black2\)
Training! Intro to Ruby, with Black & Kastner, September 14-17
(More info: http://rubyurl.com/vmzN\)
What Ruby version? Can you show the exact code to build the string test12? It works for me even on 1.8:
$ irb
irb(main):001:0> s=<<STR
irb(main):002:0" foo
irb(main):003:0" bar
irb(main):004:0" person@cogeco.ca
irb(main):005:0" baz
irb(main):006:0" STR
=> "foo\nbar\nperson@cogeco.ca\nbaz\n"
irb(main):007:0> s.include? "person@coge"
=> true
irb(main):008:0> s.include? "person@cogec"
=> true
irb(main):009:0>
I suggest to print the string with p to discover control characters you might have in there.
Kind regards
robert
···
On 10.07.2009 17:11, David Charles wrote:
#person@cogeco.ca is in the string test12 which is a string of email
addresses #separated by newline characters
#puts test12 prints out very nice listing of all email addresses on a
separate #line including the aforementioned person@cogeco.ca
#I tried it with a test13 object in which I "slice!"(ed) everything out
#according to /[A-Za-z0-9_.%@-]+ / but I got the same results and puts
test13 #basically shows the same as test12 with the newline characters
removed which #was what I expected.
if(test12.include? "person@coge") then
puts "person@coge found"
else
puts "person@coge not found"
end
------> Outputs -----> ‘person@coge found’
if(test12.include? "person@cogec") then
puts "person@cogec found"
else
puts "person@cogec not found"
end
------->Outputs -------> ‘person@cogec not found’
-----------------------------------------------------------------------
This is so bizarre I can’t explain it.. I even tried splicing out all
newline characters etc and I still get the same results. As soon as I
get to the second ‘c’ in cogec the string is not found in test12. Of
course my goal is to be able to find ‘person@cogeco.ca’ in the string
test12 since it is in the string test12.
(please note that I’ve changed the original email address to person in
order to protect privacy)
Please let me know if there is a solution to this problem or if you have
any ideas.
thanks in advance,
Dave.
--
remember.guy do |as, often| as.you_can - without end
http://blog.rubybestpractices.com/
Hi, thanks for the help guys. I actually just resolved the problem.
It's interesting how typing out the problem helped me solve it in this
case. I guess this should be a lesson to comment my code more
concisely. 
···
--
Posted via http://www.ruby-forum.com/.