我有一些文本數據打印出實際字符「\ r \ n」(所以總共四個字符)。我想用單個「\ n」字符替換這四個字符,但我似乎無法讓Python爲我做。我目前正在嘗試:用「 n」代替「 r n」
mytext.replace("\r\n", "\n")
但是,只是打印出「\ n」(兩個字符,而不是一個)。我覺得我可能錯過了一些顯而易見的東西,但任何幫助將不勝感激。
我有一些文本數據打印出實際字符「\ r \ n」(所以總共四個字符)。我想用單個「\ n」字符替換這四個字符,但我似乎無法讓Python爲我做。我目前正在嘗試:用「 n」代替「 r n」
mytext.replace("\r\n", "\n")
但是,只是打印出「\ n」(兩個字符,而不是一個)。我覺得我可能錯過了一些顯而易見的東西,但任何幫助將不勝感激。
我會建議使用splitlines,而不是一個正則表達式或查找/替換
"\n".join(mytext.splitlines())
這應該是解決方案 – geotheory 2015-12-19 13:29:10
對不起,我誤解你的問題:
在這種情況下,你應該AR前綴的字符串使用原始字符串:
mytext.replace(r"\r\n", r"\n")
然後刪除2將不會幫助/ – Stals 2012-08-16 14:38:03
mytext.replace(r"\r\n", r"\n")
的 'R' 表示一個原始字符串,它告訴python將文本中的反斜槓解釋爲文字字符而不是轉義字符。
這對我沒有幫助(ubuntu) – geotheory 2015-12-19 13:27:53
"\n".join(mytext.splitlines())
這對我的作品。 mytext.replace(r"\r\n", r"\n")
,這不行。
這是一個解決方案,如果以上任何一個都不起作用(這是我使用Python3的Anaconda分佈的情況)。
mytext.replace("\\r\\n", "\\n")
這與\被用作轉義字符有關。我認爲使用原始字符串格式化程序的上述答案可以達到同樣的效果,但無論出於何種原因,這對我來說都不起作用,而且確實如此。
如果它是一個文件,你可以用'open(file_name,'rU')'來讀取它們,如果「\ r \ n」是4個字符,那麼它們全都是''\ n'' – jamylak 2012-08-16 14:35:05