我正在尝试将我的Python 2脚本转换为Python 3。我们如何使用Unicode进行正则表达式?
这是我在Python 2中的工作原理,它将引号替换为«和»:
text = re.sub(ur'"(.*?)"', ur'«\1»', text)
我有一些非常复杂的问题,"ur“让它变得如此简单。但它在Python 3中不起作用:
text = re.sub(ur'ه\sایم([\]\.،\:»\)\s])', ur'ه\u200cایم\1', text)
发布于 2016-12-16 17:51:41
默认情况下,Python3中的所有字符串都是unicode。只需移除u,就应该没问题了。
在unicode中,字符串默认是字节列表,所以我们使用u将它们标记为Python2字符串。
发布于 2016-12-16 18:26:23
从Python3.0开始,该语言以包含Unicode字符的str类型为特色,这意味着使用"unicode rocks!“、'unicode rocks!‘或三重引号的字符串语法创建的任何字符串都将存储为Unicode。
Unicode HOWTO此文档将为您提供帮助。
所以,你只需要在Python2中做的每一件事,它都会起作用,没有额外的效果。
https://stackoverflow.com/questions/41181453
复制相似问题