基于UnicodeData包,实现中文字符串规范化
import unicodedata
def normalize_str(s: str) -> str:
"""
规范化字符串。
在测试中,可能会遇到字符等价的问题,如字符“⾯”和“面”在语义上等价的,
但它们的编码不同,故需要进行Unicode规范化,以解决此类问题。
参见:https://xobo.org/unicode-normalization-nfd-nfc-nfkd-nfkc/
:param s: 待规范化的字符串。
:return: 规范好的字符串
"""
s_normalized: str = unicodedata.normalize('NFKD', s)
s_normalized.encode('utf-8')
return s_normalized
本文版权,除注明引用的部分外,归作者所有。本文严禁商业用途的转载。非商业用途的转载需在网页明显处署上作者名称及原文链接。