使用 BeautifulSoup 将 markdown 转换为 python 中的纯文本

问题描述 投票:0回答:1

我有一个将 Markdown 文本转换为纯文本的函数,但我在使用以下文本输入时遇到问题:

text='Plan:\\\n- point 1\n\n- point 2\n\n\n\nAlso nog\n\n* point 3\n\n* point 4'

这给了我结果:

Plan:
- point 1

point 2

Also


point 3


point 4

而不是想要的结果:

Plan:
- point 1
- point 2

Also
* point 3
* point 4

我的功能:

def convert_to_plain_text(text):
    temp = text.replace("\\\n", "\n")
    html = markdown.markdown(temp)
    return "".join(BeautifulSoup(html, features="html.parser").findAll(string=True))

知道如何解决这个问题吗?

python beautifulsoup markdown
1个回答
0
投票

问题正在处理中

更正代码

import markdown
from bs4 import BeautifulSoup

def convert_to_plain_text(text):
    temp = text.replace("\\\n", "\n")
    temp = temp.replace("\n\n-", "\n-")
    temp = temp.replace("\n\n*", "\n*")
    html = markdown.markdown(temp)
    plain_text = "".join(BeautifulSoup(html, features="html.parser").findAll(text=True))
    plain_text = plain_text.replace("\n\n\n", "\n\n")
    return plain_text
text = 'Plan:\\\n- point 1\n\n- point 2\n\n\n\nAlso nog\n\n* point 3\n\n* point 4'
print(convert_to_plain_text(text))
© www.soinside.com 2019 - 2024. All rights reserved.