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

Python:如何将全角字符替换为半角字符?

冀胤运
2023-03-14
问题内容

如果这是PHP,则可能会执行以下操作:

function no_more_half_widths($string){
  $foo = array('1','2','3','4','5','6','7','8','9','10')
  $bar = array('1','2','3','4','5','6','7','8','9','10')
  return str_replace($foo, $bar, $string)
}

我已经在python中尝试了.translate函数,它表明数组的大小不同。我认为这是由于各个字符都是以utf-8编码的事实。有什么建议?


问题答案:

内置unicodedata模块可以做到这一点:

>>> import unicodedata
>>> foo = u'1234567890'
>>> unicodedata.normalize('NFKC', foo)
u'1234567890'

“ NFKC”代表“规范化形式KC
[兼容性分解,后跟规范组合]”,并将全角字符替换为半角字符,这些半角字符与Unicode等效。

请注意,它还会同时规范化所有其他内容,例如单独的重音符号和罗马数字符号。



 类似资料:
  • 本文向大家介绍javascript实现全角与半角字符的转换,包括了javascript实现全角与半角字符的转换的使用技巧和注意事项,需要的朋友参考一下 先上代码,再说废话^_^ 知识点 通过半角字符与全角字符的比较(ASCII字符),我们可以发现,拥有全角与半角之分的ASCII字符范围:0x20~0x7E。 比如: 符号 半角 全角 相差 # 0x0023 0xFF03 0xFEE0 ? 0x00

  • 本文向大家介绍Python实现全角半角字符互转的方法,包括了Python实现全角半角字符互转的方法的使用技巧和注意事项,需要的朋友参考一下 前言 相信对于每一个编程人员来说,在文本处理的时候,经常会遇到全角半角不一致的问题。于是需要程序能够快速的在两者之间互转。由于全角半角本身存在着映射关系,所以处理起来并不复杂。 具体规则为:       全角字符unicode编码从65281~65374 (十

  • 本文向大家介绍Python实现全角半角转换的方法,包括了Python实现全角半角转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲解了Python实现全角半角转换的方法,相信对于大家的Python学习能够起到一定的参考借鉴价值。如下所示: 一、全角半角转换概述: 全角字符unicode编码从65281~65374 (十六进制 0xFF01 ~ 0xFF5E) 半角字符unicode编码

  • 我想比较两个表达式。我从数据库中获得了数字字符串形式的数据数组,我需要将其转换为数字,然后再使用ngClass为样式设置提供条件。如何转换此类型。有什么想法吗?

  • 我正在自己学习Java,并使用在线练习进行练习。到目前为止,我只学到了直到方法,所以在这个练习中使用数组超出了我的范围,即使一些在线解决方案使用数组来做我想做的事情。 练习是这样的:让用户输入一个带有元音的字符串。只要有元音字母,就将该元音显示为大写字母。 例如:如果用户输入“苹果”,正确的输出是苹果 到目前为止,我有这段代码: 当我运行我的代码时,例如,输入字符串“苹果”,我得到“苹果”作为我的

  • 问题内容: 假设我有以下字符串: 是否有一些功能或模块可以将上述字符串转换为以下所有字符都更改为与url兼容的字符串: 在python中执行此操作的最佳方法是什么? 问题答案: Python 2的urllib.quote_plus和Python 3的urllib.parse.quote_plus 输出:

  • 问题内容: 我正在寻找一种可能替换掉ui-sref中的字符,同时尊重目标URL。 现在,URL如下所示: 我想摆脱%20(它们也直接在ui-sref =“”内部生成),并用减号(-)替换。 任何想法如何做到这一点? 问候,马库斯 问题答案: 注册用于封送和拆组数据的自定义类型。此处的文档:http : //angular-ui.github.io/ui- router/site/#/api/ui.

  • 问题内容: 我有以下字符串,这是一个字符串化的Python字典: 如何从上述字符串中获取Python字典? 问题答案: 好吧,你可以做 但是,如果字符串包含用户输入,则是个坏主意,因为表达式中可能包含一些随机的恶意函数。 因此,更安全的选择可能是: 来自http://docs.python.org/library/ast.html#ast.literal_eval: 提供的字符串或节点只能由以下P