需要知道一个值是否包含 3 个字母和 3 个数字

Need to know if a value contain 3 letters and 3 numbers

我正在处理我所在国家/地区的车牌数据,我需要检查是否有拼写错误的车牌。当前正确的形式是三个字母和三个数字 (AAA000),但我看到的值是一个字母或所有数字。到目前为止,我只能知道它是否全是数字或字母。对不起,我没有代码可以分享,我还是菜鸟。

此函数必须解决您的问题:

df["Placa"].apply(lambda x: True if x[:3].isalpha() and x[3:].isdigit() and len(x) == 6 else False)

假设盘子是一个列表,你可以用正则表达式来做:

>>> import re
>>> plates = ['000003', 'TPU553', 'TPU374', 'SVM978']
>>> list(filter(lambda x : re.match(r'\D{3}\d{3}',x),plates))
['TPU553', 'TPU374', 'SVM978']

这是我对你的问题的看法。制作了一个函数,检查前 3 个字符是否为字母,以此类推接下来的 3 个字符。

def checkcarplate(carplate):
    for i in range(len(carplate)):
        if i<3:
            if not carplate[i].isalpha():
                print('error')
                break
        elif i>2:
            if not carplate[i].isdigit():
                print('error')
                break
            elif i==len(carplate)-1:
                print('ok')    
carplate="A1C123"
checkcarplate(carplate)
carplate="ABC123"
checkcarplate(carplate)