我正在处理一个接受unicode字符串(Python 2)的函数,并返回相同的字符串,其中一些含糊不清的字符替换为' canonical'版。为了让您了解我的意思,这里有一些例子:
' NO-BREAK SPACE' (U + 00A0)被转换为' SPACE' (U + 0020) '正确的单一报价标记' (U + 2019)被转换为' APOSTROPHE' (U + 0027)
我不需要将所有unicode字符转换为ASCII,只需要看起来与另一个字符非常相似的任何字符。目的是简化转换后的文本,以便更容易分析。如果没有(或至少更少)出现歧义字符的机会。
我当前的实现仅使用string.replace()
来执行上面提到的替换,但我知道还有其他字符应该用空格替换,以及其他应该规范化的类似撇号的字符。要规范化的其他类字符是双引号和连字符。因此,我希望避免手动指定每个字符替换,如果可能的话。