【发布时间】:2013-12-23 07:28:07
【问题描述】:
我正在尝试解析表单中包含数千行文本的输入文件
[month/day/year hh:mm:ss AM/PM] FirstName1 LastName1: text....
[month/day/year hh:mm:ss AM/PM] FirstName2 LastName2: text....
我需要删除括号中的文本FirstName 和LastName,只留下text 部分。我用蛮力的方式做到了,但我相信还有一种更优雅的方式:
with open('inputfile.txt') as fin, open('file-out.txt','w') as fout:
for line in fin:
fout.write(re.sub('(\[[^)]*\])+(\sFirstName1 LastName1|\sFirstName2 LastName2)', '',line))
有没有办法缩短这个正则表达式(例如只使用名字的前 2 个字母和姓氏的最后 2 个字母或其他什么?)。我没有经常使用正则表达式,所以任何建议都将不胜感激。
【问题讨论】: