How can I check if a string value has exact characters in it using Python2? Specifically, I am looking to detect if it has dollar signs ("$"), commas (","), and numbers.
Assuming your string is
'$' in s # found '$' not in s # not found # original answer given, but less Pythonic than the above... s.find('$')==-1 # not found s.find('$')!=-1 # found
And so on for other characters.
pattern = re.compile(r'\d\$,') if pattern.findall(s): print('Found') else print('Not found')
chars = set('0123456789$,') if any((c in chars) for c in s): print('Found') else: print('Not Found')
[Edit: added the
'$' in s answers]
user Jochen Ritzel said this in a comment to an answer to this question from user dappawit. It should work:
('1' in var) and ('2' in var) and ('3' in var) ...
'1', '2', etc. should be replaced with the characters you are looking for.
See this page in the Python 2.7 documentation for some information on strings, including about using the
in operator for substring tests.
Update: This does the same job as my above suggestion with less repetition:
# When looking for single characters, this checks for any of the characters... # ...since strings are collections of characters any(i in '<string>' for i in '123') # any(i in 'a' for i in '123') -> False # any(i in 'b3' for i in '123') -> True # And when looking for subsrings any(i in '<string>' for i in ('11','22','33')) # any(i in 'hello' for i in ('18','36','613')) -> False # any(i in '613 mitzvahs' for i in ('18','36','613')) ->True