【问题标题】:How to get rid of weird characters in python string?如何摆脱python字符串中的奇怪字符?
【发布时间】: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")
  • 尝试不同的编码,直到找到可以正确显示的编码。替换字符将删除有价值的数据(引号、单引号、变音符号等)

标签: python regex string


【解决方案1】:

上次我遇到这个问题是因为我从我的 ascii 范围之外获取字符,我有错误的界限。

【讨论】:

    猜你喜欢
    • 2016-01-03
    • 2012-11-19
    • 1970-01-01
    • 2011-04-22
    • 2015-10-31
    • 2014-03-24
    • 2017-06-14
    • 1970-01-01
    • 2018-10-08
    相关资源
    最近更新 更多