2011-04-24 69 views
3

我有一个看起来像这样的数据:我如何摆脱我从网站上刮掉的数据中的“^ M”?

"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”。关于如何删除它的任何想法? 谢谢!

+2

在正则表达式或字符串中,“^ M”字符通常被称为“\ r”。这是一个“回车”,最初被选为将告诉打印机将“托架”(携带打印头的东西)返回到页面左边的字符。 – Pointy 2011-04-24 19:46:05

回答

5

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

与大多数编程语言一样,Python将其表示为'\r'

+0

非常感谢!真的很感谢帮助! – WM1 2011-04-24 19:51:01

1

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

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