Python字符串和unicode对象具有以下用于字符串大小写转换的方法.
>上()
> lower()
>标题()
使用unicode字符串,我可以处理本地字母表中的几乎所有字符:
test_str = u"ças şak ürt örkl"print test_str.upper()>> ÇAS ŞAK ÜRT ÖRKL
除了两个字母.由于我住在土耳其,我有典型的Turkish I problem
.
在我当地的字母表中,我们有一封与我类似的字母İ,他们的案例转换必须如下
我→小写→ı
我→大写→İ
是的,它破坏了i – >的ASCII转换.因为我和我是两个单独的信件.
test_str = u"ik"print test_str.upper()>> IK # Wrong! must be İKtest_str = u"IK"print test_str.lower()>> ik # Wrong! must be ık
我怎么能克服这个?有没有办法使用python内置函数正确处理大小写转换?最佳答案Python目前不支持特定于语言环境的案例折叠,也不支持Unicode SpecialCasing.txt中的其他规则.如果您今天需要它,您可以从PyICU获得它们.
>>> unicode( icu.UnicodeString(u'IK').tolower(icu.Locale('TR')) )u'ık'
虽然如果你关心的只是土耳其语I,你可能更喜欢特殊情况. 总结
以上是内存溢出为你收集整理的python – 更改包含重音符和本地字母的unicode字符串中的字母大小写全部内容,希望文章能够帮你解决python – 更改包含重音符和本地字母的unicode字符串中的字母大小写所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)