我只是在Python中运行以下代码,将所有特定电子邮件从IMAP文件夹中删除。提取部分工作正常,BeautifulSoup部分工作正常,但输出有很多' \ r'和' \ n'内。
我尝试使用REGEX子功能删除这些功能,但它不起作用......甚至没有给出错误信息。知道什么是错的吗?我正在附上代码...请注意(这不是完整的代码,但代码上面的所有内容我发布的内容都可以。它仍然打印输出,它已经被美化",#34;但是\ r和\ n仍然在那里。尝试过find_all(),但这也不起作用。
mail.list() # Lists all labels in GMail
mail.select('INBOX/Personal') # Connected to inbox.
resp, items = mail.search(None, '(SEEN)')
items = items[0].split() # getting the mails id
for emailid in items:
# getting the mail content
resp, data = mail.fetch(emailid, '(UID BODY[TEXT])')
text = str(data[0]) # [1] don't forget to add this back
soup = bs(text, 'html.parser')
soup = soup.prettify()
soup = re.sub('\\r\\n', '', soup)
print(soup)
答案 0 :(得分:4)
您可以将其用于一行正则表达式语句:
soup = re.sub('\\r*n*', '', soup)
或者你可以使用它:
soup = re.sub('\\r', '', soup)
soup = re.sub('\\n', '', soup)
答案 1 :(得分:2)
直接replace
命令怎么样?由于它不是正则表达式,它应该更快。
soup.replace("\n","").replace("\r","")