Fork me on github

基于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
posted @ 2024-04-28 00:53  fang-d  阅读(15)  评论(0编辑  收藏  举报