在Python中使用正则表达式去掉字符串里的html标签
用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)