我如何检查一个字符串是否有几个特定的字符在它使用Python 2?
例如,给定以下字符串:
罪犯们偷了价值一百万美元的珠宝。
我如何检测它是否有美元符号(“$”),逗号(“,”)和数字?
我如何检查一个字符串是否有几个特定的字符在它使用Python 2?
例如,给定以下字符串:
罪犯们偷了价值一百万美元的珠宝。
我如何检测它是否有美元符号(“$”),逗号(“,”)和数字?
当前回答
我的简单,简单,简单的方法!= D
Code
string_to_test = "The criminals stole $1,000,000 in jewels."
chars_to_check = ["$", ",", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
for char in chars_to_check:
if char in string_to_test:
print("Char \"" + char + "\" detected!")
输出
Char "$" detected!
Char "," detected!
Char "0" detected!
Char "1" detected!
其他回答
检查字符串中是否有字符:
parse_string = lambda chars, string: [char in string for char in chars]
例子:
parse_string('$,x', 'The criminals stole $1,000,000 in ....')
or
parse_string(['$', ',', 'x'], '..minals stole $1,000,000 i..')
输出:[True, True, False]
这将测试字符串是否由某些组合或数字、美元符号和逗号组成。这就是你想要的吗?
import re s1 = 'Testing string' s2 = '1234,12345$' regex = re.compile('[0-9,$]+$') if ( regex.match(s1) ): print "s1 matched" else: print "s1 didn't match" if ( regex.match(s2) ): print "s2 matched" else: print "s2 didn't match"
假设你的字符串是s:
'$' 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
其他角色也是如此。
... 或
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')
[编辑:在s的答案中增加了'$']
我的简单,简单,简单的方法!= D
Code
string_to_test = "The criminals stole $1,000,000 in jewels."
chars_to_check = ["$", ",", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
for char in chars_to_check:
if char in string_to_test:
print("Char \"" + char + "\" detected!")
输出
Char "$" detected!
Char "," detected!
Char "0" detected!
Char "1" detected!
另一种可能是python式的方法是:
aString = """The criminals stole $1,000,000 in jewels."""
#
if any(list(map(lambda char: char in aString, '0123456789,$')))
print(True) # Do something.