Python-高级字符串转义

Python-高级字符串转义,python,Python,我有一个python字符串。我使用escape()来删除换行符,现在我的字符串如下所示: <p>Wie hoch ist der Anteil «oraler MS-Medikamente» bei Neuverschreibungen in Ihrer Sprechstunde? </p> 但它应该是这样的 Wie hoch ist der Anteil

我有一个python字符串。我使用escape()来删除换行符,现在我的字符串如下所示:

<p>Wie hoch ist der Anteil «oraler MS-Medikamente»
bei Neuverschreibungen in Ihrer Sprechstunde? </p>
但它应该是这样的

Wie hoch ist der Anteil oraler MS-Medikamente bei Neuverschreibungen in Ihrer Sprechstunde?
我能做什么?

您可以取消对字符串的scape,以便取回HTML标记:

import HTMLParser
parser = HTMLParser.HTMLParser()
str = parser.unescape(str)
然后使用一些正则表达式删除HTML标记:

p = re.compile(r'<.*?>')
return p.sub('', str)
p=re.compile(r'')
返回p.sub(“”,str)
我并不推荐使用正则表达式来解析HTML,您可以使用
BeautifulSoup

  • 尝试解码(反向转义)。
    HTML编码器/解码器-将字符转换为相应的HTML实体-Web 2.0生成器

  • 你也可以使用这个提示

  • 导入美化组
    汤=美汤(生的)
    cleantext=soup.text
    
    列出字符列表中所有不必要的符号,然后替换它们:

    string = '&lt;p&gt;Wie hoch ist der Anteil &amp;laquo;oraler MS-Medikamente&amp;raquo;bei Neuverschreibungen in Ihrer Sprechstunde?&amp;nbsp;&lt;/p&gt;'
    
    def unescape(s):
        characters = ["&lt;p&gt;", "&lt;", "&gt;", "&amp;", "laquo;", "raquo;", "nbsp;", "/p"]
        for character in characters:
            s = s.replace(character, "")
        return s
    
    print(unescape(string))
    
    结果如下:

    这是一个新的医疗中心吗 斯普雷奇斯泰德先生