[英]Checking the first few characters in a string
我想检查字符串中的前几个字符(数字是可变的)。 例如
a = '+6221-123-4567'
我想检查一下前几个字符是否在
b = ['021', '+6221', '(021)', '(+62)']
我想以编程方式执行此操作,而无需根据字符数手动分离:
if a[:3] in ['021']: print('yes')
if a[:5] in ['+6221', '(021)', '(+62)']: print('yes')
谢谢!
str.startswith(prefix [,start [,end]])
如果字符串以前缀开头,则返回True,否则返回False。 prefix也可以是要查找的前缀的元组。
试试这个, a.startswith(tuple(b))
。
完整代码,
if a.startswith(tuple(b)):
print("yes")
您可以尝试以下方法:
a = '+6221-123-4567'
b = ['021', '+6221', '(021)', '(+62)']
b = [i[1:-1] if "(" in i else i for i in b]
#you can generate a list of characters:
new_list = [a[:5][:i+1] for i in range(5) if a[:5][:i+1] in b]
print(new_list)
if len(new_list) > 0:
print "yes"
else:
print "no"
输出:
['+62', '+6221']
yes
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.