一次性将字典中所有value值的字符串中的分隔符统一替换为中文逗号,而不管它们原来是什么分隔符。注意,正则表达式中的中文字符需要使用正确的编码,确保你的Python源文件也使用了相同的编码(通常是UTF-8)。
import re dict_with_mixed_separators = { '维生素A': '视黄醇', '蛋白质粉': '蛋白粉', '辅酶Q10': '泛醌10,维生素Q', '破壁灵芝孢子粉': '灵芝孢子粉;灵芝飞粉', '银杏叶提取物': '银杏提取物,火龙果油,鹿茸提取物,银杏叶提取,银杏叶黄酮,银杏萃取液,银杏叶提取特,银杏叶植物提取物,实验用银杏叶提取物', '褪黑素': '褪黑激素,松果体素,美拉托宁', '冬虫夏草': '虫草、冬虫草、中华虫草、夏草冬虫', '腺苷': '腺甙;腺苷;胰苷;腺甘酸;腺素苷;腺呤配糖;腺苷原料药;腺嘌呤核苷;腺嘌呤腺苷;腺甘酸杂质'
} # 定义分隔符的正则表达式,这里匹配空格、英文逗号、分号等
# 正则表达式[,;\s,]+的含义是匹配一个或多个中文逗号,、分号;、空白字符\s(包括空格、制表符、换行符等)或英文逗号,。
separator_pattern = re.compile(r'[,\s;,;、]+') # 使用字典推导式和正则表达式替换value值中的分隔符
dict_with_unified_separators = { k: separator_pattern.sub(',', v) for k, v in dict_with_mixed_separators.items()
} # 打印结果
print(dict_with_unified_separators)