【发布时间】:2015-04-29 14:17:55
【问题描述】:
我的行包含一些讨厌的控制字符:
当我尝试读取文件然后执行str.replace() 时,这些控制字符没有被替换。我试过了,但它仍然存在。
with io.open('infile', 'r', encoding='utf8') as fin:
for line in fin:
line = line.replace(u'\u0094', '"').replace(u'\u0093', '"').replace(u'\u0092', "'").replace(u'\u0096', '"').replace(u'\u0084', '"')
如何替换这些字符串?有没有一种规范的方法来替换这些字符串(它们看起来像各种引号/空格)?
这些字符到底是什么?什么是u'\u0084'?
【问题讨论】:
-
您能否提供示例文本而不是屏幕截图?这些代码可能不是控制字符,而是印刷引号等。您确定您的输入数据是 UTF-8 吗?
-
我同意..请提供示例文本
-
您是否阅读过有关文本编码/解码的其他数百万个问题?
-
如果它是您从 Windows 计算机获得的文件,它很可能以 Windows-1252 而不是 UTF 8 格式保存,请尝试使用该编码打开它 (
"cp1252") -
尝试不同的编码,直到找到可以正确显示的编码。替换字符将删除有价值的数据(引号、单引号、变音符号等)