分享

在Python中使用正则表达式去掉字符串里的html标签

 O听_海_轩O 2020-10-25

用python处理html代码的转义与还原  

转义 escape:

import html
s = cgi.escape("""& < >""")
print(s)
>>>  '& < >'

反转义 unescape:

#使用标准库
import html
s = html.unescape('& < >')  
print(s)
>>> '& < >'

有时候会获得一些带html标签的字符串,需要把html标签去掉,获得干净的字符串,这时候可以使用正则表达式。

代码如下:




























import re
htmeString = '''<ul id="TopNav"><li><a href="/EditPosts.aspx" id="TabPosts">随笔</a></li>
        <li><a href="/EditArticles.aspx" id="TabArticles">文章</a></li>
        <li><a href="/EditDiary.aspx" id="TabDiary">日记</a></li>
        <li><a href="/Feedback.aspx" id="TabFeedback">评论</a></li>
        <li><a href="/EditLinks.aspx" id="TabLinks">链接</a></li>
        <li id="GalleryTab"><a href="/EditGalleries.aspx" id="TabGalleries">相册</a></li>
        <li id="FilesTab"><a href="Files.aspx" id="TabFiles">文件</a></li>
        <li><a href="/Configure.aspx" id="TabConfigure">设置</a></li>
        <li><a href="/Preferences.aspx" id="TabPreferences">选项</a></li></ul>'''
# 方法 1
pre = re.compile('>(.*?)<')
s1 = ''.join(pre.findall(htmlString))
print(s1)   # '随笔文章日记评论链接相册文件设置选项'
# 方法 2
s2 = re.sub(r'<.*?>','',htmlString)
print(s2)   # '\n\n随笔\n文章\n日记\n评论\n链接\n册\n文件\n设置\n选项\n\n'
# 再用str.replace()函数去掉'\n'
s2 = s2.replace('\n','')
print(s2)   # '随笔文章日记评论链接相册文件设置选项'

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多