On Fri, Jul 20, 2007 at 06:46:13PM -0700, Terry Carroll wrote: > Is there a straightforward way to find out if all characters in one string > are present in a second string? > > Basically, I have a string s, and I want to print it out only if every > character in it is printable (because I accidentally brought my PC loudly > to its knees printing a few thousand BEL characters when trying to debug > something). A workable test for me is whether every character in the > string to be printed is in string.printable. > > Right now I'm doing: > > def printable(s): > import string > return [x for x in s if x not in string.printable] == [] >
Try thinking about a regular expression. Something along the lines of: pattern = r'[^%s]' % string.printable re_pattern = re.compile(pattern) match_obj = re_pattern.search(s) if match_obj: o o o Notice the carrot (^) just inside the square bracket. That reverses the pattern to all not in string.printable. You will have to work with this. I have not tested it. For more on regular expressions, see: http://docs.python.org/lib/re-syntax.html http://docs.python.org/lib/node46.html Dave -- Dave Kuhlman http://www.rexx.com/~dkuhlman _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor