Case sensitive strings

Hi all,

This is one of those annoying ones, but simple to solve I would imagine.

I have a word list, where each entry is on a single line and in
lowercase. I process this text file reading each word

words.each |word|
etc etc

I then have a conditional statement to check if a value matches word eg

if foo == word
  puts foo
end

This all works well, but I am stuck on how to deal with upper and
lowercase. I want to check if foo is equal to word in lowercase and in
uppercase.

What is the best way to do this?

Many thanks

Stuart

···

--
Posted via http://www.ruby-forum.com/.

Stuart Clarke schrieb:

Hi all,

This is one of those annoying ones, but simple to solve I would imagine.

I have a word list, where each entry is on a single line and in
lowercase. I process this text file reading each word

words.each |word|
etc etc

I then have a conditional statement to check if a value matches word eg

if foo == word
  puts foo
end

This all works well, but I am stuck on how to deal with upper and
lowercase. I want to check if foo is equal to word in lowercase and in
uppercase.

What is the best way to do this?

Many thanks

Stuart

you can use regexes and the "i"-flag:
   foo =~ /^yourword$/i
  (or better /\Ayourword\Z/i if you're not sure if there are newlines in it)
or lowercase foo:
   foo.downcase == "yourword"

:wink:

Thanks for a quick reply. I had tried the first one but it didn't work.

Did not think of the second one, silly me.

Thanks a lot

badboy wrote:

···

Stuart Clarke schrieb:

I then have a conditional statement to check if a value matches word eg

Many thanks

Stuart

you can use regexes and the "i"-flag:
   foo =~ /^yourword$/i
  (or better /\Ayourword\Z/i if you're not sure if there are newlines in
it)
or lowercase foo:
   foo.downcase == "yourword"

:wink:

--
Posted via http://www.ruby-forum.com/\.

Or just:

  yourword.casecmp(foo).zero?

See String#casecmp for more.

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

···

On May 21, 2009, at 7:54 AM, Stuart Clarke wrote:

Thanks for a quick reply. I had tried the first one but it didn't work.

Did not think of the second one, silly me.

Thanks a lot

badboy wrote:

Stuart Clarke schrieb:

I then have a conditional statement to check if a value matches word eg

Many thanks

Stuart

you can use regexes and the "i"-flag:
  foo =~ /^yourword$/i
(or better /\Ayourword\Z/i if you're not sure if there are newlines in
it)
or lowercase foo:
  foo.downcase == "yourword"

:wink:

--