import re from typing import Set, Any germany_clean_dict = { 'è': 'è', '£': '£', 'ù': 'ù', 'î': 'î', 'Ô': 'Ô', 'û': 'û', 'ã': 'ã', 'å': 'å', 'ø': 'ø', 'ß': 'ß', '³': '³', 'õ': 'õ', 'Ö': 'Ö', 'Ñ': 'Ñ', 'ê': 'ê', 'ð': 'ð', 'À': 'À', 'ë': 'ë', '\u003e': '>', 'ô': 'ô', 'Ê': 'Ê', 'â': 'â', 'à': 'à', 'Å': 'Å', '¿': '¿', 'Ý': 'Ý', 'æ': 'æ', 'ý': 'ý', 'ò': 'ò', 'Ø': 'Ø', 'ï': 'ï', '«': '«', 'ì': 'ì', 'É': 'É', '´': '´', 'Ú': 'Ú', '»': '»', 'Õ': 'Õ', 'È': 'È', '²': '²', '°': '°', 'Ì': 'Ì', '­': '', 'é': 'é', 'ú': 'ú', 'ö': 'ö', 'á': 'á', 'ó': 'ó', 'ä': 'ä', 'ü': 'ü', 'Ü': 'Ü', 'ç': 'ç', 'ñ': 'ñ', 'Í': 'Í', 'Ç': 'Ç', 'Á': 'Á', '®': '®', '·': '·', 'Ä': 'Ä', '¼': '¼', 'Â': 'Â', '©': '©', 'í': 'í', 'Ó': 'Ó', 'Ã': 'Ã', '¶': '¶', '\u0027': '"', '\u0022': "'" } def clean_germany_company_name(name) -> str: for key, value in germany_clean_dict.items(): if key in name: name = name.replace(key, value) return name def get_regex_match(text) -> Set[Any]: regex_list = set() pattern_list = [r'&#\d{3};', r'\\u[0-9A-Fa-f]{4}'] for pattern in pattern_list: match_list = re.findall(pattern, text) if len(match_list) == 0: continue for match in match_list: regex_list.add(match) return regex_list if __name__ == '__main__': test_cases = [ 'Sécheron SA', 'Beiersdorf Indústria Comércio', 'Mitan Mineralöl GmbH', 'Atmos Chrást', 'Damatic Automatización S.L', 'Wibre Elektrogeräte Edmund Breuninger GmbH & Co. KG', 'Aslantürk Kauçuk San. Tic., Limited Şti.', 'eurokomplekt OÜ', 'Aslantürk Kauçuk San. Tic., Limited Şti.', 'Tiruña', 'Baader Ísland Ehf', 'Çınar Ecza Deposu', 'TATABÁNYAI RUGÓGYÁRTÓ KFT.', 'Aquagart® Trading GmbH', 'Wessel·Werk GmbH', 'Ätztechnik Herz', 'GPS Prüftechnik Rhein/Main GmbH', 'GEHS GRÜN ENERGİE HEIZUNG UND SANİTÂR', '@Sartorius Stedim Biotech Wunderland AG Göttingen /©ss', 'Concesionaria Vuela Compañía de Aviación SAPI de CV', 'TATABÁNYAI RUGÓGYÁRTÓ KFT.', 'GPS Prüftechnik Rhein/Main GmbH', 'Frölich + KlÃŒpfel Drucklufttechnik GmbH & Co. KG', 'DE\u0027 LONGHI APPLIANCES S.R.L.', 'FREY WILLE\u0022 GmbH & Co.KG.', 'Concesionaria Vuela Compañía de Aviación SAPI de CV', 'TATABÁNYAI RUGÓGYÁRTÓ KFT.', 'GPS Prüftechnik Rhein/Main GmbH' ] for test_case in test_cases: print("{:<50} {:>50}".format(test_case, clean_germany_company_name(test_case))) # print(get_regex_match("Sécheron SA\\u0022ss"))