需要知道一个值是否包含 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)
我正在处理我所在国家/地区的车牌数据,我需要检查是否有拼写错误的车牌。当前正确的形式是三个字母和三个数字 (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)