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


a @ http://codeforpeople.com/
--
we can deny everything, except that we have the possibility of being  
better. simply reflect on that.
h.h. the 14th dalai lama