【问题标题】:how do I get rid of "^M" in data I have scraped from a website?如何摆脱从网站上抓取的数据中的“^M”?
【发布时间】:2011-04-25 03:47:11
【问题描述】:

我的数据如下所示:

"1964   iwanttoholdyourhand beatles



^M

oh yeah, i'll tell you something
i think you'll understand
when i'll say that something
i wanna hold your hand
i wanna hold your hand
i wanna hold your hand

oh please, say to me
you'll let me be your man
and please, say to me
you'll let me hold your hand
i'll let me hold your hand
i wanna hold your hand"

我正试图摆脱 ^M,所以我尝试使用 re.sub,但没有找到它 - 我认为是一些特殊字符,而不是真正的“^”和“M”下一个对彼此。关于如何删除它的任何想法? 谢谢!

【问题讨论】:

  • “^M”字符在正则表达式或字符串中通常称为“\r”。这是一个“回车”,最初被选为告诉打印机将“马车”(携带打印头的东西)返回到页面左边缘的字符。

标签: python html


【解决方案1】:

^M 在很多编辑器中用于表示回车符。您通常会键入 Ctrl + M 以在这些编辑器中生成该字符。

Python 将其表示为 '\r',大多数编程语言也是如此。

【讨论】:

    【解决方案2】:

    这可能是 Windows 与 unix 行尾问题。 Unix 使用 \n (换行符),Windows 使用 \r\n 代替(回车 + 换行符)。您要删除 \r (ASCII 码点 13);您可以在 python 中执行此操作(我认为甚至不使用正则表达式),或者您可以简单地在您的文件上运行 fromdos 程序。许多 unix 工具将 \r 表示为 ^M(M 是字母表的第 13 个字母)。

    This wikipedia article 是一个不错的起点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-14
      • 2013-05-21
      相关资源
      最近更新 更多