检查列表中是否有任何字符串实例

时间:2018-01-17 15:55:44

标签: python

POarray = ['P.O. Box', 'P.O. BOX', 'P.O. box', 'p.o. box', 'PO Box', 'PO BOX', 'PO box', 'po box', 'P.O Box', 'P.O BOX', 'P.O box', 'p.o box']

if Resp_Info.r3.val in POarray:
     error('Sorry, but we cannot except PO boxes.')

如果将PO Box插入值字段,我试图引发错误。但是,邮政信箱通常也包括数字,如邮政信箱1167和#34;如何编写我的验证以检查字符串中的那些实例,并忽略这些数字。

2 个答案:

答案 0 :(得分:0)

怎么样

if "pobox" in str(Resp_Info.r3.val).lower().replace(".", "").replace(" ", ""):
    print "err"

使用Regex:

import re
if "pobox" in re.sub('\W+','', "PO Box #1234" ).lower():
    print "err"

答案 1 :(得分:0)

您可以使用re模块:

import re

pattern = re.compile('p\.?o\.?\sbox', re.IGNORECASE)

if re.search(pattern, Resp_Info.r3.val):
    error('Sorry, but we cannot except PO boxes.')