Case sensitive strings


#1

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


#2

Stuart C. 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:


#3

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 C. 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:


#4

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

word eg
foo.downcase == “yourword”

:wink:

Or just:

yourword.casecmp(foo).zero?

See String#casecmp for more.

-Rob

Rob B. http://agileconsultingllc.com
removed_email_address@domain.invalid