码迷,mamicode.com
首页 > 编程语言 > 详细

python小例子之删除文本标签

时间:2015-04-11 19:33:00      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:正则表达式   python学习   python小例子   

Python 练习册,每天一个小程序


By 白熊花田(http://blog.csdn.net/whiterbear) 转载需注明出处,谢谢。


问题描述:


我们在网上下载或者复制别人代码的时候经常会遇到下载的代码中包含行数标签的情况。如下图:

技术分享

这些代码中包含着行数如1.,2.等,如果我们想直接运行或者copy代码需要自己手动的删除这些标签。既然学了python,我们写一段脚本来处理它吧。


思路分析:


首先,我们逐行的读取文本。

利用正则表达式,可以顺利地匹配出所有的这些标签以及后面跟随的“\t”,正则表达式为:“\d+.\t”。

接着我们将匹配的结果在这一行中删除它,使用string模块的replace方法,将匹配的结果用‘’代替。

最后,我们保存每次删除了行数标签的结果行,然后将这些行写入原文本。注意,以w的方式打开文本会删除原文本内容。


代码:

# -*- coding:utf-8 -*-
import re
import os
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

ls = os.linesep
label_regex = r'\d+.\t'
content = []
for line in open('source.txt', 'r'):
	mm = re.search(label_regex, line)
	if mm:
		mm = mm.group()
		content.append(line.replace(mm, '').rstrip())
	else:
		break
f = open('source.txt', 'w')
f.writelines(['%s%s' % (x,ls) for x in content])

结果:

技术分享



python小例子之删除文本标签

标签:正则表达式   python学习   python小例子   

原文地址:http://blog.csdn.net/whiterbear/article/details/44997767

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!