2011-04-24 80 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是一個不錯的起點。