【发布时间】:2013-04-14 09:14:10
【问题描述】:
我有这个代码
import chardet, re
content = "Бланк свидетельства о допуске."
print content
print chardet.detect(content)
content = re.sub(u"(?i)[^-0-9a-zа-яё«»\&\;\/\<\>\.,\s\(\)\*:!\?]", "", content)
print content
print chardet.detect(content)
然后输出
Бланк свидетельства о допуске.
{'confidence': 0.99, 'encoding': 'utf-8'}
� � .
{'confidence': 0.5, 'encoding': 'windows-1252'}
我做错了什么?如何在re.sub() 之后获取 uft-8 字符串?
(Python 2.7,# coding: utf-8,UTF-8 文件,IDE Pycharm)。
谢谢。
【问题讨论】:
-
您正在尝试对原始字节使用正则表达式?您在这里操作的是 bytes,而不是字符,每个输入字符由 2 个字节组成。
-
我怎样才能获得 UTF-8?
-
期望的输出是什么?
-
查看此答案stackoverflow.com/a/16113322/497208 以获取指向“每个软件开发人员绝对、肯定必须了解 Unicode 和字符集的绝对最小值”
标签: python regex python-2.7