def english_brand_extension(self, brand_name): """ target: 将扩展的品牌直接保存值召回品牌中 1)指定品牌 2)标准品牌 第一种情况:去特殊字符 A.H.C/爱和纯 -> AHC爱和纯 -> A.H.C/爱和纯/AHC爱和纯 A.O.史密斯 -> AO史密斯 -> A.O.史密斯/AO史密斯 第二种情况:去英文的空格 MAKE UP FOR EVER -> MAKEUPFOREVER COLOR KEY -> COLORKEY a b c/某某某 -> abc/a b c/某某某/abc某某某 :return: """ def _single_brand_ext(tmp_b_name): # 去除空格 b1 = re.sub(r"[\s]+", "", tmp_b_name) # 去除. b2 = tmp_b_name.replace(".", "").replace(".", "") r_lst = list(set([tmp_b_name, b1, b2])) return r_lst # 10943455 Hisense/海信(黑电) ok_brand_name = "" tmp = brand_name.strip().replace("(", "(").replace(")", "").replace(")", "") lst2 = tmp.split("(") if len(lst2) == 2: b1 = lst2[0] if tool.is_all_eng(lst2[1]): b2 = lst2[1] ok_brand_name = b2 + "/" + b1 else: ok_brand_name = b1 else: ok_brand_name = brand_name brand_lst = ok_brand_name.strip().split("/") re_brand_lst = [] if len(brand_lst) == 1: re_brand_lst += _single_brand_ext(brand_lst[0]) else: en_brand_lst = [] ch_brand_lst = [] other_brand_lst = [] for b in brand_lst: if tool.is_all_eng(b): en_brand_lst.append(b) elif tool.is_all_chinese(b): ch_brand_lst.append(b) else: other_brand_lst.append(b) en_brand_ext_lst = [] for z in en_brand_lst: en_brand_ext_lst += _single_brand_ext(z) mix_brand_lst = [] for y in en_brand_ext_lst: for x in ch_brand_lst: mix_brand_lst.append(y + x) mix_brand_lst.append(x + y) if len(en_brand_lst) > 1: for i in range(len(en_brand_ext_lst)): for j in range(i + 1, len(en_brand_lst)): mix_brand_lst.append(en_brand_lst[i] + en_brand_lst[j]) mix_brand_lst.append(en_brand_lst[j] + en_brand_lst[i]) re_brand_lst = mix_brand_lst + en_brand_ext_lst + ch_brand_lst + other_brand_lst re_brand_lst = list(set(re_brand_lst)) #print(re_brand_lst) return "/".join(re_brand_lst)
def _is_all_chinese(sefl, s1): return tool.is_all_chinese(s1)