Python 3.3 将该casefold
方法添加到 str 类型,但在 2.x 中我什么都没有。解决此问题的最佳方法是什么?
问问题
6907 次
3 回答
4
查看py2casefold。
>>> from py2casefold import casefold
>>> print casefold(u"tschüß")
tschüss
>>> casefold(u"ΣίσυφοςfiÆ") == casefold(u"ΣΊΣΥΦΟσFIæ") == u"σίσυφοσfiæ"
True
于 2015-09-28T21:23:08.587 回答
1
如果PyICU已经安装;你可以用它来定义casefold()
. 使用与@Russ 答案中相同的示例字符串:
>>> import icu
>>> casefold = lambda u: unicode(icu.UnicodeString(u).foldCase())
>>> print casefold(u"tschüß")
tschüss
>>> casefold(u"ΣίσυφοςfiÆ") == casefold(u"ΣΊΣΥΦΟσFIæ") == u"σίσυφοσfiæ"
True
>>> icu.UNICODE_VERSION
'6.3'
>>> import unicodedata
>>> unicodedata.unidata_version
'5.2.0'
于 2015-09-29T08:10:22.037 回答