相关疑难解决方法(0)

删除Python unicode字符串中重音的最佳方法是什么?

我在Python中有一个Unicode字符串,我想删除所有的重音符号(变音符号).

我在Web上发现了一种在Java中执行此操作的优雅方法:

  1. 将Unicode字符串转换为长标准化形式(字母和变音符号使用单独的字符)
  2. 删除Unicode类型为"变音符号"的所有字符.

我是否需要安装pyICU等库?或者只使用python标准库?那python 3怎么样?

重要说明:我想避免代码使用重音字符到非重音符号的显式映射.

python unicode diacritics python-2.x python-3.x

462
推荐指数
12
解决办法
23万
查看次数

Python没有正确排序unicode.Strcoll没有帮助

我在OSX上以及Linux上使用Python 2.5.1和2.6.5中的unicode排序对排序列表有问题.

import locale   
locale.setlocale(locale.LC_ALL, 'pl_PL.UTF-8')
print [i for i in sorted([u'a', u'z', u'?'], cmp=locale.strcoll)]
Run Code Online (Sandbox Code Playgroud)

哪个应该打印:

[u'a', u'?', u'z']
Run Code Online (Sandbox Code Playgroud)

而是打印出来:

[u'a', u'z', u'?']
Run Code Online (Sandbox Code Playgroud)

总结一下 - 看起来好像strcoll坏了.尝试使用各种类型的变量(fe.非unicode编码的字符串).

我做错了什么?

此致,Tomasz Kopczuk.

python unicode locale

21
推荐指数
3
解决办法
7055
查看次数

标签 统计

python ×2

unicode ×2

diacritics ×1

locale ×1

python-2.x ×1

python-3.x ×1