繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM