当前位置: 首页 > 面试题库 >

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

赵光赫
2023-03-14
问题内容

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

我在网上发现了一种用Java实现此目的的优雅方法:

  1. 将Unicode字符串转换为长规范化格式(带有单独的字母和变音符号)
  2. 删除所有Unicode类型为“变音符号”的字符。

我是否需要安装pyICU之类的库,还是仅使用python标准库就可以?那python 3呢?

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


问题答案:

Unidecode是正确的答案。它将所有unicode字符串音译为ASCII文本中最接近的可能表示形式。

例:

accented_string = u'Málaga'
# accented_string is of type 'unicode'
import unidecode
unaccented_string = unidecode.unidecode(accented_string)
# unaccented_string contains 'Malaga'and is of type 'str'


 类似资料:
  • 问题内容: 如何从字符串中删除重音符号?尤其是在IE6中,我有类似以下内容: 但是IE6困扰着我,似乎不喜欢我的正则表达式。 问题答案: 使用ES2015 / ES6 String.Prototype.Normalize(), 这里发生两件事: 根据Unicode规范形式,将组合的字形分解为简单的字形。在中端起来表示为+ 。 现在,使用正则表达式字符类来匹配U + 0300→U + 036F范围,

  • 问题内容: 如何使用Python从字符串中删除重复的字符?例如,假设我有一个字符串: 如何制作字符串: 我是python的新手,我已经很累了,它正在工作。我知道有一种最佳的聪明方法。只有经验可以证明这一点。 注意:顺序很重要,这个问题是不是类似于此一个。 问题答案: 使用:

  • 问题内容: 应该有一个比以下方法更简单的方法: 在那儿? 问题答案: 从效率的角度来看,你不会被击败 对于更高版本的Python,请使用以下代码: 它使用查找表在C中执行原始字符串操作-除了编写自己的C代码以外,没有什么比这更好的了。 如果不用担心速度,那么另一个选择是: 这比每个char的更快,但效果不如regexes或等非纯python方法,如下面的时序所示。对于这种类型的问题,以尽可能低的水

  • 问题内容: 我想改变这句话: 等等。 至 : 等等。 有没有像我在Objective-C中那样在Java中执行此操作的简便方法? 问题答案: 最后,我通过使用类解决了它。

  • 我有URL字符串,如: “http://www.xyz/path1/path2/path3?param1=value1&param2=value2”。 我需要获得这个不带参数的url,所以结果应该是: “http://www.xyz/path1/path2/path3”。 我是这样做的: 有没有更好的办法呢?

  • 问题内容: 可能吗?这是我的输入字符串: 这是我想要的输出: 问题答案: Wordpress使用了一个功能,效果很好。这是带有输出的工作代码。