![]() |
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/. |
Re: Case sensitive strings
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" ;) |
Re: Case sensitive strings
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" > > ;) -- Posted via http://www.ruby-forum.com/. |
Re: Case sensitive strings
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" >> >> ;) > > -- Or just: yourword.casecmp(foo).zero? See String#casecmp for more. -Rob Rob Biedenharn http://agileconsultingllc.com Rob@AgileConsultingLLC.com |
| All times are GMT. The time now is 07:34 AM. |
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.