我想检查字符串中的前几个字符(数字是可变的)。 E.g。
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')
谢谢!
答案 0 :(得分:5)
str.startswith(前缀[,start [,end]])
如果字符串以前缀开头,则返回True,否则返回False。 前缀也可以是要查找的前缀元组。
试试这个,
cnode = mat2cell(candidate_edges, ones(1, size(candidate_edges, 1)));
。
完整代码,
a.startswith(tuple(b))
答案 1 :(得分:1)
你可以试试这个:
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