我需要使用一组匹配的品牌将品牌从命名汽车的模型中分离出来。我试过这样的方法:
import re
carName = "Fiat Strada Working 1.4 CS"
brands = ["Acura","Alfa Romeo","Aston Martin","Audi","Bentley","BMW","Bugatti","Buick","Cadillac","Chevrolet",
"Chrysler","Citroen","Dodge","Ferrari","Fiat","Ford","Geely","General Motors","GMC","Honda","Hyundai",
"Mercedes-Benz","Renault"]
carBrand = re.split("'|'.join(brands)|[^a-zA-Z ]+", carName)
print(carBrand)但得到了这个:‘菲亚特斯特拉达工作',没有,’CS‘
我需要这个:‘菲亚特’,‘斯特拉达工作1.4CS’
我有困难找到正确的正则表达式分离后,加入的品牌。
发布于 2020-07-22 10:44:51
您的正则表达式是完全错误的,并且您使用了错误的re方法:
import re
carName = "Fiat Strada Working 1.4 CS"
brands = ["Acura","Alfa Romeo","Aston Martin","Audi","Bentley","BMW","Bugatti","Buick","Cadillac","Chevrolet",
"Chrysler","Citroen","Dodge","Ferrari","Fiat","Ford","Geely","General Motors","GMC","Honda","Hyundai",
"Mercedes-Benz","Renault"]
carBrand = list( re.match(f"({'|'.join(brands)})(.*)", carName).groups() )
print(carBrand)https://stackoverflow.com/questions/63025576
复制相似问题