检查字符串中的前几个字符

时间:2017-07-01 13:39:48

标签: python string

我想检查字符串中的前几个字符(数字是可变的)。 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')

谢谢!

2 个答案:

答案 0 :(得分:5)

  

str.startswith(前缀[,start [,end]])

     

如果字符串以前缀开头,则返回True,否则返回False。   前缀也可以是要查找的前缀元组。

docs

试试这个, 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