玖叶教程网

前端编程开发入门

Python|提取包含指定文本的行到一个文本文件(字符串或正则)

Python对于文本处理简单、直观。

任务:想返回一个网页的全部标题的文本行到一个文本文件。

在网页文件的源代码中,页面的标题都是用诸如<h4>……</h4>(后面的数字可以是1-6中任意数字)来标识的,要把这样的行提取出来,并将诸如<h4>或</h4>替换为空白,如果用文本的find()和replace()方法操作,则需要列举六种情况,但如果用正则表达式的findall()和sub()方法,则无需列举。

具体看代码:

import re
temp = open('h4.txt','w',encoding="UTF-8")
tag = re.compile(r'<h\d>')............# 可以直接写成tag = r'<h\d>'
endtag = re.compile(r'</h\d>') 
with open('original.txt','rU',encoding="UTF-8") as f:
....for line in f.readlines():........ # 返回单行(段落)string
........#if line.startswith("h4"):
........#if line.find("h4") != -1:.... # 返回开始位置,否则返回-1
........list1 = re.findall(tag,line)
........if list1!=[]:
............#str = line.replace("h4","")
............str = re.sub(tag,"",line)
............str = re.sub(endtag,"",str)
............temp.write(str)
temp.close()
# 也可以将文件内容做为一个字符串返回,利用以下正则表达式及查找返回一个列表:
# res = r'<div>.*?</div>' # 使用非贪婪模式
 print("finished!")
import win32api

win32api.ShellExecute(0,'open',"h4.txt",'','',1)

original.html中所有含有诸如<h4>……</h4>标签的文本行都提取到h4.txt文件中,并将这些html标签代码替换为空白。

-End-

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言