用正则怎么将html文件中文字取出?今天碰到这个问题,思来想去尝试了好几种方法,历经一阵头脑风暴,最后终于还是解决了,想想还是来记录一下。一共定义了三个函数,包含正则切割、正则判断对象开头、ASCII码编码、ASCII码解码、isinstance函数使用、with上下文。

首先随便找了一段文字,创建了一个html文件,内容如下:

<p>tkinter模块(“Tk接口”)是Scriptics的Tk GUI工具包的<b>标准Python接口</b>,支持在Unix平台、Windows系统和Macintosh系统上运行。因为它由<a href="https://www.myblou.com">很多</a>小构件组成,当我们在设计一个GUI时,可以通过它丰富的构件库满足我们的需求。</p>
<br>
<p>tkinter模块(“Tk接口”)是Scriptics的Tk GUI<b>工具包</b>的标准Python接口,支持在Unix平台、Windows系统和Macintosh系统上运行。因为它由很多小构件组成,当我们在设计一个GUI时,可以通过它丰富的构件库满足我们的需求。</p>
<br>

本文转自:https://www.myblou.com/archives/1383

导入re模块:

import re

函数一:上面是将html文件中的所有文字(不包含标签)进行ASCII编码,并返回成一个列表。

def ASC_bianma():
'''将文字进行ASC编码'''
with open(r'C:\Users\dell\Desktop\zhengze\ni.html','r',encoding='utf8') as f:
wenzi = f.read() # 导出文件中的所有内容
pipei = re.split(r'(<.*?>)',wenzi) # 使用正则以标签进行分隔,返回一个列表
lst = []
for x in pipei:
if re.match('<.*?>',x) or re.match(r'\s',x): # 判断条件:如果是以<.*?>开头或是空白字符开头
lst.append(x) # 直接追加到l列表中
continue # 跳出本次循环进行下次循环
else:
for v in x:
bianma = ord(v) # 进行ASC编码
lst.append(bianma) # 追加到l列表中
return lst

函数二:函数二是将所有文字(不包含标签)进行ASCII解码,并返回成字符串。



def ASC_jiema(lis):
'''将ASC码转换成文字'''
ls = []
for x in lis:
if isinstance(x,int): # 判断x是不是int型
jiema = chr(x) # 进行ASC解码
ls.append(jiema) # 追加到t列表中
continue # 跳出本次循环进行下次循环
else:
ls.append(x) # 直接追加到t列表中
st = ''.join(ls) # 将t列表中的所有元素连接,返回成字符串
return st

函数三:将解码的字符串写入一个新建的html文件中。

用正则怎么将html文件中文字取出进行ASCII码转换?的更多相关文章

  1. 在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文

    在eclipse中安装properties插件PropertiesEditor及设置(附图),ASCII码转换成中文安装成功后ASCII还是不能转换成中文的,原因是设置里面没有把编码设置为utf8的, ...

  2. 如何从 dump 文件中提取出 C# 源代码?

    一:背景 相信有很多朋友在遇到应用程序各种奇葩问题后,拿下来一个dump文件,辛辛苦苦分析了大半天,终于在某一个线程的调用栈上找到了一个可疑的方法,但 windbg 常常是以 汇编 的方式显示方法代码 ...

  3. python中字符与ascii码转换

    ASCII码转字符用chr()函数:  字符转ASCII码用ord()函数:  

  4. 创建文件夹并解决解决unicode和ASCII码转换的问题

    # -*- coding: UTF-8 -*-import sysimport timeimport os #解决unicode和ASCII码转换的问题reload(sys) #解决unicode和A ...

  5. python 中字符串转 二进制 /ASCII码

  6. Python之通配符--提取文件中的内容并输出

    前言:我的学习进度其实没有那么快的,因为现在是网络工程师实习,只有晚上一点时间和周末有空,所以周一到周天的学习进度很慢,今天之所以突然跳到通配符是因为工作需要,大体讲一下我的工作需求:网络工程师就是写 ...

  7. Button 在布局文件中定义监听器,文字阴影,自定义图片,代码绘制样式,添加音效的方法

    1.Button自己在xml文件中绑定监听器 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/andro ...

  8. 随性练习:excel中文字和链接存到html文件

    这是一个简单的练习,主要是将excel中文字和链接存到html文件中,并且可通过点击文字直通链接 excel格式如下图示,我这里得excel是07版的,所以用到xlrd模块 代码: import xl ...

  9. 吴裕雄--天生自然python学习笔记:python文档操作批量替换 Word 文件中的文字

    我们经常会遇到在不同的 Word 文件中的需要做相同的文字替换,若是一个一个 文件操作,会花费大量时间 . 本节案例可以找出指定目录中的所有 Word 文件(包含 子目录),并对每一个文件进行指定的文 ...

随机推荐

  1. Python _PyQt5 【总】

    http://www.cnblogs.com/archisama/p/5442071.html QtCore QtGui QtWidgets QtMultimedia QtBluetooth QtNe ...

  2. CentOS 6.10 安装mysql

    1.检查是否安装有mysql rpm -qa | grep mysql 使用yum remove 包  的方式删除干净 2.下载yum Repository wget -c  http://dev.m ...

  3. Codeforces1009F Dominant Indices

    dsu on tree 题目链接 点我跳转 题目大意 给定一棵以 \(1\) 为根,\(n\) 个节点的树.设\(d(u,x)\) 为 \(u\) 子树中到 \(u\) 距离为 \(x\) 的节点数. ...

  4. Mac磁盘清理工具——CleanMyMac

    许多刚从Windows系统转向Mac系统怀抱的用户,一开始难免不习惯,因为Mac系统没有像Windows一样的C盘.D盘,分盘分区明显.因此这也带来了一些问题,关于Mac的磁盘的清理问题,怎么进行清理 ...

  5. 巧妙使用MathType快速编写数学函数公式

    在我们日常的工作与学习中,你是否也会遇到过无法在电脑中编写数学函数公式的情况呢? 简单的数学函数公式或许经过我们不懈的努力也可以成功的编写,不过这会耽误我们大把的时间. 想象一下,假如你的老板急着催你 ...

  6. 一看就懂的:MySQL数据页以及页分裂机制

    文章公号 首发!连载中~ 欢迎各位大佬关注, 回复:"抽奖" 还可参加抽活动 文末有二维码 一.知识回顾 回顾一下之前和大家分享的知识点 看了前面的文章,想必你肯定了解了什么是Bu ...

  7. TCP接收窗口为什么变大了?

    今天用wireshark抓取TCP连接时的报文发现客户端的Win变大了,这里是使用了Window Scale来扩张TCP接收窗口,使得接收窗口可以大于65535字节. 首先1号包是TCP第一次握手连接 ...

  8. Codeforces Round #670 (Div. 2) D. Three Sequences 题解(差分+思维+构造)

    题目链接 题目大意 给你一个长为n的数组a,要你构造一个非严格单调上升的数组b和一个非严格单调下降的数组c,使得\(b_i+c_i=a_i\) 要你使这两个数组b,c中最大的元素最小,还有q次修改(q ...

  9. mybatis-plus使用记录

    如何and和or: QuoteSalaryEnum salaryMax = QuoteSalaryEnum.of(memberObjectInfo.getQuoteSalaryMax()); Quot ...

  10. 推荐:国产etl调度工具Taskctl web应用版,0元永久授权

    写在前面 2020年疫情席卷全球,更是对整个市场经济造成了严重影响,年初疫情肆虐,西方世界单方面的科技.经济封锁,国际关系吃紧.....导致很多中小型企业业务链受阻,大型企业经费资金吃紧,轮班制导致公 ...