From: Todd Benson Date: 2008-05-09T08:30:36+09:00 Subject: Re: Doing an AND in regexp char class On Thu, May 8, 2008 at 6:07 PM, ara.t.howard wrote: > > On May 8, 2008, at 3:40 PM, Todd Benson wrote: >> >> This question arises out of a couple of recent threads and may or may >> not be a Ruby-specific question. >> >> I can check with a character class if one of the characters in the >> class exists or does not exist, but can I use a regexp to check if a >> string absolutely contains all of the characters in the class? >> >> Using a set perspective, I can do it like this in irb... >> >> s1 = "hello there" >> s2 = "ohi" >> (s2.unpack('c*') & s1.unpack('c*')).size == s2.size >> >> => false >> >> I use unpack to avoid creating a bunch of String objects, one for each >> element in the array, which would happen if I used #split. What I'm >> wondering is if there is a way to do this with a simple regexp. >> >> Thanks, >> Todd > > cfp:~ > cat a.rb > class String > def all_chars? chars > tr(chars, '').empty? > end > end > > p 'foobar'.all_chars?('rabof') > p 'foobar'.all_chars?('abc') > p 'foobar'.all_chars?('') > > > > cfp:~ > ruby a.rb > true > false > false Cool :) #tr is one of those useful methods I somehow consistently forget about. tkx fur realizashuns, Todd