换行符/代码\ r \ n \ r \ n在文本前显示

时间:2019-05-13 14:31:04

标签: python newline

我正在尝试将电子邮件导入到Web应用程序中,当在Web应用程序中打开电子邮件时,它会显示如下文本:

  

“ b'您的票证中有x添加的新信件。\ r \ n \ r \ n查看此   客户端门户上位于clientportal.com的票证\ r \ n \ r \ n   您可以通过安装和查看来自移动设备的票证更新   登录到x移动应用。\ r \ n \ r \ n如果您希望接收   请在这些消息中获取有关您的机票更新的更多详细信息   选择接收加密的电子邮件。”

我的代码:

                    descr=item.body
                    descr = descr.replace("\r","\\r") 
                    descr = descr.replace("\n","\\n") 
                    descr = descr.encode('ascii', 'ignore')
                    try:
                        gotdata = spitit[3]
                    except IndexError:

我正在尝试从文本前面删除“ \ r \ n \ r \ n”。我也不确定在文本开头出现“ b”的原因。

1 个答案:

答案 0 :(得分:0)

我认为这里有两个问题-b问题是源数据的编码问题,因为它被解释为字节数据。您需要对字符串进行正确编码-我认为下面应该这样做

descr = item.body.encode('utf-8')

出现在网络应用程序中的换行符要复杂一些。首先,您使用替换调用来转义特殊字符,但是如果将它们转义,它们将被视为字符串而不是特殊字符。另外,\ n \ r在网络语言中也不是换行符。根据您希望它的表示方式,您可能需要用<br>标签替换换行符或类似的东西以使其正确显示,或者只用descr.replace("\n","")

完全删除它们