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

时间:2021-11-01 17:05:08

有时候会获得一些带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) # '随笔文章日记评论链接相册文件设置选项'

完。